@gjsify/adwaita-web 0.55.0 → 0.56.0
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/README.md +8 -0
- package/dist/adwaita-web.css +129 -27
- package/dist/adwaita-web.css.map +1 -1
- package/lib/types/adw-status-page.spec.d.ts +1 -0
- package/lib/types/attributes.d.ts +19 -0
- package/lib/types/elements/adw-action-row.d.ts +4 -0
- package/lib/types/elements/adw-combo-row.d.ts +4 -0
- package/lib/types/elements/adw-entry-row.d.ts +6 -0
- package/lib/types/elements/adw-expander-row.d.ts +2 -0
- package/lib/types/elements/adw-header-bar.d.ts +6 -0
- package/lib/types/elements/adw-overlay-split-view.d.ts +13 -0
- package/lib/types/elements/adw-sidebar.d.ts +3 -2
- package/lib/types/elements/adw-spin-row.d.ts +6 -0
- package/lib/types/elements/adw-switch-row.d.ts +4 -0
- package/lib/types/elements/adw-toggle-group.d.ts +17 -0
- package/lib/types/elements/gtk-scrolled-window.d.ts +10 -2
- package/lib/types/elements/gtk-window.d.ts +8 -2
- package/lib/types/index.d.ts +1 -1
- package/lib/types/row-line-clamp.d.ts +20 -0
- package/lib/types/row-tooltip.d.ts +8 -0
- package/lib/types/row-tooltip.spec.d.ts +1 -0
- package/lib/types/shared-tree-builder.d.ts +49 -19
- package/lib/types/shared-tree-mount.spec.d.ts +1 -0
- package/lib/types/styles.generated.d.ts +1 -1
- package/lib/types/widget-size.spec.d.ts +1 -0
- package/package.json +8 -8
- package/scss/_action_row.scss +39 -15
- package/scss/_button_row.scss +5 -0
- package/scss/_expander_row.scss +36 -3
- package/scss/_headerbar.scss +2 -1
- package/scss/_preferences_row.scss +9 -0
- package/scss/_row.scss +16 -0
- package/scss/_status_page.scss +1 -1
- package/scss/_toggle_group.scss +28 -0
- package/scss/_widget.scss +14 -3
- package/scss/_window.scss +13 -1
- package/src/adw-action-rows.spec.ts +255 -0
- package/src/adw-header-bar.spec.ts +18 -0
- package/src/adw-status-page.spec.ts +124 -0
- package/src/attributes.ts +52 -0
- package/src/capabilities.mjs +3 -0
- package/src/construct-vectors.spec.ts +1 -1
- package/src/elements/adw-action-row.ts +31 -2
- package/src/elements/adw-alert-dialog.ts +4 -1
- package/src/elements/adw-button-row.ts +7 -1
- package/src/elements/adw-combo-row.ts +26 -1
- package/src/elements/adw-entry-row.ts +22 -12
- package/src/elements/adw-expander-row.ts +34 -1
- package/src/elements/adw-header-bar.ts +18 -4
- package/src/elements/adw-overlay-split-view.ts +29 -6
- package/src/elements/adw-preferences-row.ts +5 -2
- package/src/elements/adw-sidebar.ts +33 -5
- package/src/elements/adw-spin-row.ts +37 -2
- package/src/elements/adw-status-page.ts +10 -2
- package/src/elements/adw-switch-row.ts +25 -1
- package/src/elements/adw-toggle-group.ts +119 -10
- package/src/elements/adw-window.ts +9 -4
- package/src/elements/gtk-scrolled-window.ts +18 -7
- package/src/elements/gtk-window.ts +9 -3
- package/src/gtk-window.spec.ts +12 -0
- package/src/index.ts +1 -1
- package/src/keyboard-operable.spec.ts +47 -11
- package/src/row-line-clamp.ts +74 -0
- package/src/row-tooltip.spec.ts +313 -0
- package/src/row-tooltip.ts +52 -0
- package/src/shared-tree-builder.ts +88 -35
- package/src/shared-tree-mount.spec.ts +130 -0
- package/src/shared-trees.spec.ts +15 -0
- package/src/styles.generated.ts +1 -1
- package/src/test.browser.mts +8 -0
- package/src/widget-size.spec.ts +117 -0
package/README.md
CHANGED
|
@@ -219,6 +219,14 @@ if (!isIconAvailable('dialog-error')) {
|
|
|
219
219
|
<adw-status-page icon="dialog-error" title="Could not connect"></adw-status-page>
|
|
220
220
|
```
|
|
221
221
|
|
|
222
|
+
A status page also takes libadwaita's `.compact` style class as a boolean attribute, for a
|
|
223
|
+
narrow surface such as an extension popup — a 96px icon, 24px margins and the smaller
|
|
224
|
+
`.title-2` heading (`style-classes.md` "Compact Status Page"):
|
|
225
|
+
|
|
226
|
+
```html
|
|
227
|
+
<adw-status-page compact icon="dialog-error" title="No results"></adw-status-page>
|
|
228
|
+
```
|
|
229
|
+
|
|
222
230
|
`registerIcon(name, svg)` takes the icon's **SVG source** — exactly what
|
|
223
231
|
`@gjsify/adwaita-icons` exports, and equally any symbolic SVG of your own drawn on the 16px
|
|
224
232
|
Adwaita grid with `fill="currentColor"`. It writes the same pair the build writes: a
|
package/dist/adwaita-web.css
CHANGED
|
@@ -2066,7 +2066,8 @@ adw-card,
|
|
|
2066
2066
|
box-shadow: inset 6px 0 6px -6px color-mix(in srgb, currentColor 6%, transparent);
|
|
2067
2067
|
}
|
|
2068
2068
|
|
|
2069
|
-
adw-window
|
|
2069
|
+
adw-window,
|
|
2070
|
+
adw-application-window {
|
|
2070
2071
|
display: flex;
|
|
2071
2072
|
flex-direction: column;
|
|
2072
2073
|
background-color: var(--window-bg-color);
|
|
@@ -2079,7 +2080,9 @@ adw-window {
|
|
|
2079
2080
|
outline: 1px solid rgba(255, 255, 255, 0.07);
|
|
2080
2081
|
outline-offset: -1px;
|
|
2081
2082
|
}
|
|
2082
|
-
adw-window.maximized, adw-window.fullscreen
|
|
2083
|
+
adw-window.maximized, adw-window.fullscreen,
|
|
2084
|
+
adw-application-window.maximized,
|
|
2085
|
+
adw-application-window.fullscreen {
|
|
2083
2086
|
--window-radius: 0px;
|
|
2084
2087
|
outline: none;
|
|
2085
2088
|
box-shadow: none;
|
|
@@ -2093,6 +2096,11 @@ adw-window.maximized, adw-window.fullscreen {
|
|
|
2093
2096
|
min-width: 0;
|
|
2094
2097
|
}
|
|
2095
2098
|
|
|
2099
|
+
.adw-window-content > gtk-box {
|
|
2100
|
+
flex: 1 1 auto;
|
|
2101
|
+
min-height: 0;
|
|
2102
|
+
}
|
|
2103
|
+
|
|
2096
2104
|
gtk-window,
|
|
2097
2105
|
gtk-application-window {
|
|
2098
2106
|
display: flex;
|
|
@@ -2234,7 +2242,8 @@ adw-header-bar .adw-header-btn:active {
|
|
|
2234
2242
|
}
|
|
2235
2243
|
|
|
2236
2244
|
.devel adw-header-bar,
|
|
2237
|
-
adw-window.devel adw-header-bar
|
|
2245
|
+
adw-window.devel adw-header-bar,
|
|
2246
|
+
adw-application-window.devel adw-header-bar {
|
|
2238
2247
|
background-image: linear-gradient(to bottom, transparent 0%, var(--headerbar-bg-color) 100%), repeating-linear-gradient(116.565deg, color-mix(in srgb, currentColor 5%, transparent) 0 32px, transparent 32px 64px);
|
|
2239
2248
|
}
|
|
2240
2249
|
|
|
@@ -3307,6 +3316,9 @@ adw-toggle-group {
|
|
|
3307
3316
|
border-radius: var(--button-radius);
|
|
3308
3317
|
background-color: var(--button-bg-color);
|
|
3309
3318
|
}
|
|
3319
|
+
adw-toggle-group[disabled] {
|
|
3320
|
+
background-color: color-mix(in srgb, var(--button-bg-color) var(--disabled-opacity), transparent);
|
|
3321
|
+
}
|
|
3310
3322
|
adw-toggle-group .adw-toggle-group-inner {
|
|
3311
3323
|
display: flex;
|
|
3312
3324
|
align-items: stretch;
|
|
@@ -3345,6 +3357,13 @@ adw-toggle-group .adw-toggle:focus-visible {
|
|
|
3345
3357
|
outline: 2px solid var(--accent-color);
|
|
3346
3358
|
outline-offset: 1px;
|
|
3347
3359
|
}
|
|
3360
|
+
adw-toggle-group .adw-toggle:disabled {
|
|
3361
|
+
opacity: var(--disabled-opacity);
|
|
3362
|
+
cursor: default;
|
|
3363
|
+
}
|
|
3364
|
+
adw-toggle-group .adw-toggle:disabled:hover, adw-toggle-group .adw-toggle:disabled:active {
|
|
3365
|
+
background-color: transparent;
|
|
3366
|
+
}
|
|
3348
3367
|
adw-toggle-group .adw-toggle.active {
|
|
3349
3368
|
background-color: var(--active-toggle-bg-color);
|
|
3350
3369
|
color: var(--active-toggle-fg-color);
|
|
@@ -3353,6 +3372,9 @@ adw-toggle-group .adw-toggle.active {
|
|
|
3353
3372
|
adw-toggle-group .adw-toggle.active:hover {
|
|
3354
3373
|
background-color: var(--active-toggle-bg-color);
|
|
3355
3374
|
}
|
|
3375
|
+
adw-toggle-group .adw-toggle.active:disabled {
|
|
3376
|
+
box-shadow: none;
|
|
3377
|
+
}
|
|
3356
3378
|
adw-toggle-group.round {
|
|
3357
3379
|
border-radius: 17px;
|
|
3358
3380
|
}
|
|
@@ -5240,6 +5262,9 @@ adw-preferences-row {
|
|
|
5240
5262
|
adw-preferences-row .adw-row-title {
|
|
5241
5263
|
user-select: none;
|
|
5242
5264
|
}
|
|
5265
|
+
adw-preferences-row .adw-row-title:has(~ .adw-preferences-row-content[hidden]) {
|
|
5266
|
+
flex: 1 1 auto;
|
|
5267
|
+
}
|
|
5243
5268
|
adw-preferences-row .adw-preferences-row-content {
|
|
5244
5269
|
display: flex;
|
|
5245
5270
|
align-items: center;
|
|
@@ -6284,6 +6309,10 @@ adw-combo-row:last-child {
|
|
|
6284
6309
|
border-bottom: none;
|
|
6285
6310
|
}
|
|
6286
6311
|
|
|
6312
|
+
[data-row-tooltip] {
|
|
6313
|
+
align-self: stretch;
|
|
6314
|
+
}
|
|
6315
|
+
|
|
6287
6316
|
.adw-row-text {
|
|
6288
6317
|
display: flex;
|
|
6289
6318
|
flex-direction: column;
|
|
@@ -6318,7 +6347,10 @@ adw-combo-row:last-child {
|
|
|
6318
6347
|
flex-shrink: 0;
|
|
6319
6348
|
}
|
|
6320
6349
|
|
|
6321
|
-
adw-action-row
|
|
6350
|
+
adw-action-row,
|
|
6351
|
+
adw-switch-row,
|
|
6352
|
+
adw-combo-row,
|
|
6353
|
+
adw-spin-row {
|
|
6322
6354
|
display: flex;
|
|
6323
6355
|
align-items: center;
|
|
6324
6356
|
gap: var(--spacing-m);
|
|
@@ -6327,46 +6359,90 @@ adw-action-row {
|
|
|
6327
6359
|
border-bottom: 1px solid var(--card-shade-color);
|
|
6328
6360
|
color: var(--card-fg-color);
|
|
6329
6361
|
}
|
|
6330
|
-
adw-action-row:last-child
|
|
6362
|
+
adw-action-row:last-child,
|
|
6363
|
+
adw-switch-row:last-child,
|
|
6364
|
+
adw-combo-row:last-child,
|
|
6365
|
+
adw-spin-row:last-child {
|
|
6331
6366
|
border-bottom: none;
|
|
6332
6367
|
}
|
|
6333
|
-
adw-action-row.activatable
|
|
6368
|
+
adw-action-row.activatable,
|
|
6369
|
+
adw-switch-row.activatable,
|
|
6370
|
+
adw-combo-row.activatable,
|
|
6371
|
+
adw-spin-row.activatable {
|
|
6334
6372
|
cursor: pointer;
|
|
6335
6373
|
}
|
|
6336
|
-
adw-action-row.activatable:hover
|
|
6374
|
+
adw-action-row.activatable:hover,
|
|
6375
|
+
adw-switch-row.activatable:hover,
|
|
6376
|
+
adw-combo-row.activatable:hover,
|
|
6377
|
+
adw-spin-row.activatable:hover {
|
|
6337
6378
|
background-color: var(--button-bg-color);
|
|
6338
6379
|
}
|
|
6339
|
-
adw-action-row.activatable:active
|
|
6380
|
+
adw-action-row.activatable:active,
|
|
6381
|
+
adw-switch-row.activatable:active,
|
|
6382
|
+
adw-combo-row.activatable:active,
|
|
6383
|
+
adw-spin-row.activatable:active {
|
|
6340
6384
|
background-color: var(--button-active-color);
|
|
6341
6385
|
}
|
|
6342
6386
|
adw-action-row .adw-action-row-prefix,
|
|
6343
|
-
adw-action-row .adw-action-row-suffix
|
|
6387
|
+
adw-action-row .adw-action-row-suffix,
|
|
6388
|
+
adw-action-row .adw-switch-row-prefix,
|
|
6389
|
+
adw-switch-row .adw-action-row-prefix,
|
|
6390
|
+
adw-switch-row .adw-action-row-suffix,
|
|
6391
|
+
adw-switch-row .adw-switch-row-prefix,
|
|
6392
|
+
adw-combo-row .adw-action-row-prefix,
|
|
6393
|
+
adw-combo-row .adw-action-row-suffix,
|
|
6394
|
+
adw-combo-row .adw-switch-row-prefix,
|
|
6395
|
+
adw-spin-row .adw-action-row-prefix,
|
|
6396
|
+
adw-spin-row .adw-action-row-suffix,
|
|
6397
|
+
adw-spin-row .adw-switch-row-prefix {
|
|
6344
6398
|
display: flex;
|
|
6345
6399
|
align-items: center;
|
|
6346
6400
|
gap: var(--spacing-xs);
|
|
6347
6401
|
flex-shrink: 0;
|
|
6348
6402
|
}
|
|
6349
|
-
adw-action-row .adw-
|
|
6350
|
-
|
|
6351
|
-
|
|
6352
|
-
|
|
6353
|
-
flex: 1 1 auto;
|
|
6354
|
-
min-width: 0;
|
|
6355
|
-
}
|
|
6356
|
-
adw-action-row .adw-row-title {
|
|
6403
|
+
adw-action-row .adw-row-title,
|
|
6404
|
+
adw-switch-row .adw-row-title,
|
|
6405
|
+
adw-combo-row .adw-row-title,
|
|
6406
|
+
adw-spin-row .adw-row-title {
|
|
6357
6407
|
font-size: var(--font-size-base);
|
|
6358
6408
|
color: var(--card-fg-color);
|
|
6359
|
-
white-space:
|
|
6360
|
-
overflow:
|
|
6361
|
-
text-overflow: ellipsis;
|
|
6409
|
+
white-space: normal;
|
|
6410
|
+
overflow-wrap: break-word;
|
|
6362
6411
|
}
|
|
6363
|
-
adw-action-row .adw-row-subtitle
|
|
6412
|
+
adw-action-row .adw-row-subtitle,
|
|
6413
|
+
adw-switch-row .adw-row-subtitle,
|
|
6414
|
+
adw-combo-row .adw-row-subtitle,
|
|
6415
|
+
adw-spin-row .adw-row-subtitle {
|
|
6364
6416
|
font-size: var(--font-size-small);
|
|
6365
6417
|
opacity: var(--dim-opacity);
|
|
6366
6418
|
color: var(--card-fg-color);
|
|
6367
|
-
white-space:
|
|
6419
|
+
white-space: normal;
|
|
6420
|
+
overflow-wrap: break-word;
|
|
6421
|
+
}
|
|
6422
|
+
adw-action-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6423
|
+
adw-action-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
|
|
6424
|
+
adw-switch-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6425
|
+
adw-switch-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
|
|
6426
|
+
adw-combo-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6427
|
+
adw-combo-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
|
|
6428
|
+
adw-spin-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6429
|
+
adw-spin-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
|
|
6430
|
+
display: -webkit-box;
|
|
6431
|
+
-webkit-box-orient: vertical;
|
|
6368
6432
|
overflow: hidden;
|
|
6369
|
-
text-overflow: ellipsis;
|
|
6433
|
+
text-overflow: var(--adw-row-ellipsize-overflow, ellipsis);
|
|
6434
|
+
}
|
|
6435
|
+
adw-action-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6436
|
+
adw-switch-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6437
|
+
adw-combo-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6438
|
+
adw-spin-row .adw-row-text.adw-row-clamp .adw-row-title {
|
|
6439
|
+
-webkit-line-clamp: var(--adw-row-title-lines, 1);
|
|
6440
|
+
}
|
|
6441
|
+
adw-action-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
|
|
6442
|
+
adw-switch-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
|
|
6443
|
+
adw-combo-row .adw-row-text.adw-row-clamp .adw-row-subtitle,
|
|
6444
|
+
adw-spin-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
|
|
6445
|
+
-webkit-line-clamp: var(--adw-row-subtitle-lines, 1);
|
|
6370
6446
|
}
|
|
6371
6447
|
|
|
6372
6448
|
adw-action-row.property .adw-row-title,
|
|
@@ -6588,6 +6664,7 @@ adw-button-row .adw-button-row-contents {
|
|
|
6588
6664
|
justify-content: center;
|
|
6589
6665
|
gap: var(--spacing-xs);
|
|
6590
6666
|
min-width: 0;
|
|
6667
|
+
flex: 1 1 auto;
|
|
6591
6668
|
}
|
|
6592
6669
|
adw-button-row .adw-button-row-title {
|
|
6593
6670
|
font-size: var(--font-size-base);
|
|
@@ -6656,9 +6733,28 @@ adw-expander-row .adw-expander-row-header:active {
|
|
|
6656
6733
|
adw-expander-row .adw-row-title {
|
|
6657
6734
|
font-size: var(--font-size-base);
|
|
6658
6735
|
color: var(--card-fg-color);
|
|
6659
|
-
white-space:
|
|
6736
|
+
white-space: normal;
|
|
6737
|
+
overflow-wrap: break-word;
|
|
6738
|
+
}
|
|
6739
|
+
adw-expander-row .adw-row-subtitle {
|
|
6740
|
+
font-size: var(--font-size-small);
|
|
6741
|
+
opacity: var(--dim-opacity);
|
|
6742
|
+
color: var(--card-fg-color);
|
|
6743
|
+
white-space: normal;
|
|
6744
|
+
overflow-wrap: break-word;
|
|
6745
|
+
}
|
|
6746
|
+
adw-expander-row .adw-row-text.adw-row-clamp .adw-row-title,
|
|
6747
|
+
adw-expander-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
|
|
6748
|
+
display: -webkit-box;
|
|
6749
|
+
-webkit-box-orient: vertical;
|
|
6660
6750
|
overflow: hidden;
|
|
6661
|
-
text-overflow: ellipsis;
|
|
6751
|
+
text-overflow: var(--adw-row-ellipsize-overflow, ellipsis);
|
|
6752
|
+
}
|
|
6753
|
+
adw-expander-row .adw-row-text.adw-row-clamp .adw-row-title {
|
|
6754
|
+
-webkit-line-clamp: var(--adw-row-title-lines, 1);
|
|
6755
|
+
}
|
|
6756
|
+
adw-expander-row .adw-row-text.adw-row-clamp .adw-row-subtitle {
|
|
6757
|
+
-webkit-line-clamp: var(--adw-row-subtitle-lines, 1);
|
|
6662
6758
|
}
|
|
6663
6759
|
adw-expander-row .adw-expander-row-header > .adw-row-text {
|
|
6664
6760
|
flex: 1;
|
|
@@ -10420,11 +10516,17 @@ adw-shortcuts-item + adw-shortcuts-item {
|
|
|
10420
10516
|
margin-block: auto;
|
|
10421
10517
|
}
|
|
10422
10518
|
|
|
10423
|
-
gtk-box:not([orientation=vertical]) > [hexpand],
|
|
10424
|
-
gtk-box[orientation=vertical] > [vexpand] {
|
|
10519
|
+
gtk-box:not([orientation=vertical]) > [hexpand]:not([hexpand=false]),
|
|
10520
|
+
gtk-box[orientation=vertical] > [vexpand]:not([vexpand=false]) {
|
|
10425
10521
|
flex-grow: 1;
|
|
10426
10522
|
}
|
|
10427
10523
|
|
|
10524
|
+
gtk-box:not([orientation=vertical]) > [hexpand=false],
|
|
10525
|
+
gtk-box[orientation=vertical] > [vexpand=false] {
|
|
10526
|
+
flex-grow: 0;
|
|
10527
|
+
flex-basis: auto;
|
|
10528
|
+
}
|
|
10529
|
+
|
|
10428
10530
|
[hidden] {
|
|
10429
10531
|
display: none !important;
|
|
10430
10532
|
}
|