@xoong/ui 0.0.43 → 0.0.45

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xoong/ui",
3
- "version": "0.0.43",
3
+ "version": "0.0.45",
4
4
  "description": "xoong admin set: xoong.css tokens, <xo-table>, <xo-form>, <xo-dialog>, toast, confirm and a declarative History-API router. Depends on @xoong/core, @xoong/data and @xoong/forms.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -21,9 +21,9 @@
21
21
  "sideEffects": true,
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
- "@xoong/core": "0.0.43",
25
- "@xoong/data": "0.0.43",
26
- "@xoong/forms": "0.0.43"
24
+ "@xoong/core": "0.0.45",
25
+ "@xoong/data": "0.0.45",
26
+ "@xoong/forms": "0.0.45"
27
27
  },
28
28
  "files": [
29
29
  "src"
package/src/mist.css CHANGED
@@ -1375,6 +1375,8 @@
1375
1375
  .xo-input-wrap button.xo-date-open { position: absolute; }
1376
1376
  xo-image {
1377
1377
  border-radius: var(--xo-radius);
1378
+ }
1379
+ xo-image[data-state="empty"], xo-image[data-state="error"] {
1378
1380
  background: var(--xo-color-subtle);
1379
1381
  }
1380
1382
  xo-image[data-state="loading"] {
@@ -1468,30 +1470,36 @@
1468
1470
  .xo-file-list li { display: flex; align-items: center; gap: 12px; padding: 8px 12px; border: 1px solid var(--xo-color-border); border-radius: var(--xo-radius); background: var(--xo-color-surface); font-size: 14px; }
1469
1471
  .xo-file-list li img { width: 40px; height: 40px; border-radius: 6px; object-fit: cover; flex: none; }
1470
1472
  .xo-file-list li span { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
1471
- .xo-kpi { display: grid; gap: 6px; }
1472
- .xo-kpi__label { font-size: 13px; color: var(--xo-color-text-2); }
1473
- .xo-kpi__value { font-size: 28px; font-weight: 600; line-height: 1.1; letter-spacing: -.01em; color: var(--xo-color-text); font-variant-numeric: tabular-nums; }
1474
- .xo-kpi__delta { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; font-weight: 500; color: color-mix(in srgb, var(--xo-color-success) 55%, var(--xo-color-text)); }
1475
- .xo-kpi__delta[data-good="false"], .xo-kpi__delta[data-trend="down"] { color: var(--xo-color-danger); }
1476
- .xo-kpi__delta .ic, .xo-kpi__delta .icon { --xo-icon: 14px; width: 14px; height: 14px; }
1477
- .xo-kpi__spark { display: block; width: 100%; height: 32px; margin-top: 4px; color: var(--xo-color-accent); }
1478
- .xo-kpi__spark path { fill: none; stroke: currentcolor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
1479
- .xo-spinner { display: inline-block; box-sizing: border-box; animation: xo-spinner .8s linear infinite; }
1480
- @media (prefers-reduced-motion: reduce) {
1481
- .xo-spinner { animation-duration: 2.4s; }
1482
- }
1483
- xo-progress[data-state="indeterminate"] .xo-progress > i, .xo-progress[data-state="indeterminate"] > i { animation: xo-progress-slide 1.4s ease-in-out infinite; }
1484
- @keyframes xo-progress-slide {
1485
- from { transform: translateX(-100%); }
1486
- to { transform: translateX(250%); }
1487
- }
1488
- @media (prefers-reduced-motion: reduce) {
1489
- xo-progress[data-state="indeterminate"] .xo-progress > i, .xo-progress[data-state="indeterminate"] > i { animation: none; opacity: .45; }
1490
- }
1491
- .xo-inline-edit__text { min-width: 0; overflow-wrap: anywhere; }
1492
- .xo-inline-edit input { width: min(100%, 28ch); min-width: 12ch; height: 36px; min-height: 0; padding: 0 10px; font: inherit; color: var(--xo-color-text); background: var(--xo-color-surface); border: 1px solid var(--xo-color-accent); border-radius: var(--xo-radius); outline: var(--xo-focus); }
1493
- .xo-inline-edit .xo-inline-edit__text + button { opacity: .7; }
1494
- .xo-inline-edit:hover .xo-inline-edit__text + button, .xo-inline-edit .xo-inline-edit__text + button:focus-visible { opacity: 1; }
1473
+ xo-menu:not(:defined) > :not([xo-menu-trigger]) { display: none; }
1474
+ xo-tabs:not(:defined) { display: block; padding-top: 44px; }
1475
+ xo-tabs:not(:defined) > [xo-tab] { padding: 0; margin: 0; }
1476
+ xo-tabs:not(:defined) > [xo-tab]:not(:first-of-type) { display: none !important; }
1477
+ xo-carousel:not(:defined) { display: block; overflow: hidden; padding-bottom: 48px; }
1478
+ xo-carousel:not(:defined) > :not(:first-child) { display: none !important; }
1479
+ xo-combobox:not(:defined), xo-tags:not(:defined) { display: block; min-height: var(--xo-control-height, 40px); }
1480
+ xo-combobox:not(:defined) > *, xo-tags:not(:defined) > * { display: none !important; }
1481
+ xo-richtext:not(:defined) { display: block; min-height: 274px; }
1482
+ xo-switch:not(:defined), xo-slider:not(:defined), xo-range-slider:not(:defined), xo-progress:not(:defined), xo-steps:not(:defined), xo-segmented:not(:defined), xo-split-button:not(:defined), xo-stepper:not(:defined), xo-date:not(:defined), xo-time:not(:defined), xo-password:not(:defined), xo-copy:not(:defined), xo-textarea:not(:defined), xo-file:not(:defined), xo-accordion:not(:defined), xo-stat:not(:defined), xo-chart:not(:defined), xo-otp:not(:defined), xo-inline-edit:not(:defined) { display: block; }
1483
+ xo-switch:not(:defined), xo-slider:not(:defined), xo-range-slider:not(:defined) { min-height: 24px; }
1484
+ xo-progress:not(:defined) { min-height: 8px; }
1485
+ xo-steps:not(:defined), xo-inline-edit:not(:defined) { min-height: 30px; }
1486
+ xo-split-button:not(:defined), xo-stepper:not(:defined), xo-date:not(:defined), xo-time:not(:defined), xo-password:not(:defined), xo-copy:not(:defined) { min-height: 40px; }
1487
+ xo-segmented:not(:defined) { min-height: 46px; }
1488
+ xo-otp:not(:defined) { min-height: 52px; }
1489
+ xo-textarea:not(:defined) { min-height: 123px; }
1490
+ xo-file:not(:defined) { min-height: 155px; }
1491
+ xo-accordion:not(:defined) { min-height: 98px; }
1492
+ xo-stat:not(:defined) { min-height: 120px; }
1493
+ xo-chart:not(:defined) { min-height: 284px; }
1494
+ xo-switch:not(:defined) > *, xo-segmented:not(:defined) > *, xo-split-button:not(:defined) > *, xo-accordion:not(:defined) > * { visibility: hidden; }
1495
+ xo-image:not(:defined) { display: block; }
1496
+ xo-image[ratio="16/9"]:not(:defined) { aspect-ratio: 16 / 9; }
1497
+ xo-image[ratio="4/3"]:not(:defined) { aspect-ratio: 4 / 3; }
1498
+ xo-image[ratio="3/2"]:not(:defined) { aspect-ratio: 3 / 2; }
1499
+ xo-image[ratio="1/1"]:not(:defined) { aspect-ratio: 1; }
1500
+ xo-image[ratio="21/9"]:not(:defined) { aspect-ratio: 21 / 9; }
1501
+ xo-image[ratio="3/4"]:not(:defined) { aspect-ratio: 3 / 4; }
1502
+ xo-image[ratio="2/3"]:not(:defined) { aspect-ratio: 2 / 3; }
1495
1503
 
1496
1504
  /* ---- skin ---- */
1497
1505
  :root { --shadow-sm: 0 1px 2px color-mix(in srgb, var(--xo-color-text) 6%, transparent); --shadow-float: 0 12px 32px color-mix(in srgb, var(--xo-color-text) 14%, transparent), 0 2px 6px color-mix(in srgb, var(--xo-color-text) 8%, transparent); --xo-shadow-pop: var(--shadow-float); --xo-shadow-raised: none; --xo-focus: 2px solid var(--xo-color-accent); --xo-focus-thin: 2px solid var(--xo-color-accent); }
package/src/xoong.css CHANGED
@@ -112,7 +112,7 @@
112
112
  .xo-table .xo-actions > * + * { margin-inline-start: var(--xo-space-2); }
113
113
  .xo-bulk { display: flex; align-items: center; gap: var(--xo-space-2); padding: var(--xo-space-2); background: var(--xo-color-bg); border-bottom: 1px solid var(--xo-color-border); }
114
114
  .xo-filters { display: flex; flex-wrap: wrap; gap: var(--xo-space-2); padding: var(--xo-space-2); border-bottom: 1px solid var(--xo-color-border); }
115
- .xo-toast { position: fixed; inset-block-end: var(--xo-space-4); inset-inline-end: var(--xo-space-4); max-width: 24rem; margin: 0; padding: var(--xo-space-2) var(--xo-space-3); color: var(--xo-color-danger); background: var(--xo-color-surface); border: 1px solid var(--xo-color-danger); border-radius: var(--xo-radius); }
115
+ .xo-toast { z-index: var(--xo-z-toast, 60); position: fixed; inset-block-end: var(--xo-space-4); inset-inline-end: var(--xo-space-4); max-width: 24rem; margin: 0; padding: var(--xo-space-2) var(--xo-space-3); color: var(--xo-color-danger); background: var(--xo-color-surface); border: 1px solid var(--xo-color-danger); border-radius: var(--xo-radius); }
116
116
  .xo-toast[hidden] { display: none; }
117
117
  .xo-pager { display: flex; gap: var(--xo-space-2); justify-content: flex-end; padding: var(--xo-space-2); }
118
118