@jirawatpyk/aura-react 5.33.0 → 5.34.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/dist/styles.css CHANGED
@@ -1164,6 +1164,68 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1164
1164
  /* Anything else interactive in the tile sits above the stretched link. No specificity, so a control's own position wins. */
1165
1165
  :where(.aura-stat--label-link) :where(a, button, input, select, textarea, label, summary, [tabindex]):not(:where(.aura-stat__link)) { position: relative; z-index: 1; }
1166
1166
 
1167
+ /* ---------- StatusTile, TileGrid, Sparkline (5.34, DxT Monitor S06) ---------- */
1168
+ .aura-tile-grid { list-style: none; margin: 0; padding: 0; --aura-grid-gap-base: var(--aura-space-2); --aura-grid-gap-sm: var(--aura-space-2); --aura-grid-gap-md: var(--aura-space-2); --aura-grid-gap-lg: var(--aura-space-2); --aura-grid-gap-xl: var(--aura-space-2); }
1169
+ .aura-tile-grid > li { display: flex; min-width: 0; container: aura-status-tile / inline-size; } /* the narrow-tile query reads the cell: a grid cell has a definite width */
1170
+ .aura-tile-grid > li > * { flex: 1; min-width: 0; }
1171
+ .aura-status-tile {
1172
+ position: relative; box-sizing: border-box; display: flex; flex-direction: column; gap: 2px; min-width: 0;
1173
+ padding: var(--aura-space-2) var(--aura-space-3); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
1174
+ border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-sm);
1175
+ font-family: var(--font-sans); font-size: 13px; line-height: 18px; text-align: start; text-decoration: none;
1176
+ --aura-hover: var(--aura-bg-surface-hover);
1177
+ }
1178
+ .aura-status-tile--down { background: var(--aura-alert-danger-bg); border-color: var(--aura-alert-danger-border); }
1179
+ .aura-status-tile--problem { background: var(--aura-alert-warning-bg); border-color: var(--aura-alert-warning-border); }
1180
+ .aura-status-tile--maintenance { background: var(--aura-alert-info-bg); border-color: var(--aura-alert-info-border); }
1181
+ .aura-status-tile.is-interactive { cursor: pointer; transition: border-color var(--aura-duration-fast) var(--aura-ease); }
1182
+ .aura-status-tile.is-interactive:hover { border-color: var(--aura-border-strong); }
1183
+ .aura-status-tile.is-interactive:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
1184
+ .aura-status-tile__head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 var(--aura-space-2); min-width: 0; }
1185
+ .aura-status-tile__sep { font-size: 0; }
1186
+ .aura-status-tile__icon { flex: none; margin-top: 1px; color: var(--aura-fg-secondary); }
1187
+ .aura-status-tile--down .aura-status-tile__icon { color: var(--aura-alert-danger-fg); }
1188
+ .aura-status-tile--problem .aura-status-tile__icon { color: var(--aura-alert-warning-fg); }
1189
+ .aura-status-tile--maintenance .aura-status-tile__icon { color: var(--aura-alert-info-fg); }
1190
+ /* Two lines at most: similar names stay apart. */
1191
+ .aura-status-tile__title {
1192
+ flex: 1 1 0; min-width: 0; font-weight: 600; overflow-wrap: break-word;
1193
+ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
1194
+ }
1195
+ .aura-status-tile__value { flex: none; margin-inline-start: auto; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
1196
+ .aura-status-tile__value.is-danger, .aura-status-tile__marker.is-danger { color: var(--aura-fg-danger); }
1197
+ .aura-status-tile__value.is-warning, .aura-status-tile__marker.is-warning { color: var(--aura-fg-warning); }
1198
+ .aura-status-tile__value.is-accent, .aura-status-tile__marker.is-accent { color: var(--aura-fg-accent); }
1199
+ .aura-status-tile__value.is-neutral, .aura-status-tile__marker.is-neutral { color: var(--aura-fg-secondary); }
1200
+ .aura-status-tile--down .aura-status-tile__value.is-danger { color: var(--aura-alert-danger-fg); }
1201
+ .aura-status-tile--problem .aura-status-tile__value.is-warning { color: var(--aura-alert-warning-fg); }
1202
+ .aura-status-tile--maintenance .aura-status-tile__value.is-accent { color: var(--aura-alert-info-fg); }
1203
+ /* A narrow tile in a TileGrid (two columns on a phone) puts the value on its own line under the title, in every tile
1204
+ * alike, rather than squeezing the title to a word. The grid's cells are the containers: on the tile itself, inline-size
1205
+ * containment would collapse a tile in a flex row or an inline block to nothing. */
1206
+ @container aura-status-tile (max-width: 225.98px) {
1207
+ .aura-status-tile__value { flex-basis: 100%; margin-inline-start: 0; padding-inline-start: 24px; }
1208
+ }
1209
+ /* The second line starts under the title. */
1210
+ .aura-status-tile__foot { display: flex; align-items: center; gap: var(--aura-space-2); min-width: 0; padding-inline-start: 24px; font-size: 12px; color: var(--aura-fg-secondary); }
1211
+ .aura-status-tile__meta { flex: 1; min-width: 0; overflow-wrap: anywhere; }
1212
+ .aura-status-tile__markers { display: inline-flex; align-items: center; gap: var(--aura-space-1); margin-inline-start: auto; flex: none; }
1213
+ .aura-status-tile__marker { display: inline-flex; }
1214
+ .aura-status-tile:lang(th) { line-height: 20px; }
1215
+ .aura-sparkline { display: inline-block; flex: none; vertical-align: middle; overflow: visible; color: var(--aura-fg-secondary); }
1216
+ .aura-sparkline.is-accent { color: var(--aura-fg-accent); }
1217
+ .aura-sparkline.is-danger { color: var(--aura-fg-danger); }
1218
+ .aura-sparkline.is-warning { color: var(--aura-fg-warning); }
1219
+ .aura-sparkline.is-positive { color: var(--aura-fg-positive); }
1220
+ .aura-sparkline__line { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
1221
+ .aura-sparkline__dots { fill: currentColor; }
1222
+ .aura-sparkline__band { fill: var(--aura-fg-danger); opacity: 0.16; }
1223
+ .aura-sparkline__ticks { fill: var(--aura-fg-danger); }
1224
+ @media (forced-colors: active) {
1225
+ .aura-sparkline { color: CanvasText; }
1226
+ .aura-sparkline__band, .aura-sparkline__ticks { fill: Highlight; }
1227
+ }
1228
+
1167
1229
  /* ---------- TimePicker ---------- */
1168
1230
  .aura-time__popover { min-width: 160px; }
1169
1231
  .aura-time__option { min-height: 36px; font-variant-numeric: tabular-nums; }
@@ -1166,6 +1166,68 @@ button.aura-stat { font: inherit; width: 100%; cursor: pointer; }
1166
1166
  /* Anything else interactive in the tile sits above the stretched link. No specificity, so a control's own position wins. */
1167
1167
  :where(.aura-stat--label-link) :where(a, button, input, select, textarea, label, summary, [tabindex]):not(:where(.aura-stat__link)) { position: relative; z-index: 1; }
1168
1168
 
1169
+ /* ---------- StatusTile, TileGrid, Sparkline (5.34, DxT Monitor S06) ---------- */
1170
+ .aura-tile-grid { list-style: none; margin: 0; padding: 0; --aura-grid-gap-base: var(--aura-space-2); --aura-grid-gap-sm: var(--aura-space-2); --aura-grid-gap-md: var(--aura-space-2); --aura-grid-gap-lg: var(--aura-space-2); --aura-grid-gap-xl: var(--aura-space-2); }
1171
+ .aura-tile-grid > li { display: flex; min-width: 0; container: aura-status-tile / inline-size; } /* the narrow-tile query reads the cell: a grid cell has a definite width */
1172
+ .aura-tile-grid > li > * { flex: 1; min-width: 0; }
1173
+ .aura-status-tile {
1174
+ position: relative; box-sizing: border-box; display: flex; flex-direction: column; gap: 2px; min-width: 0;
1175
+ padding: var(--aura-space-2) var(--aura-space-3); background: var(--aura-bg-surface); color: var(--aura-fg-primary);
1176
+ border: 1px solid var(--aura-border-default); border-radius: var(--aura-radius-sm);
1177
+ font-family: var(--font-sans); font-size: 13px; line-height: 18px; text-align: start; text-decoration: none;
1178
+ --aura-hover: var(--aura-bg-surface-hover);
1179
+ }
1180
+ .aura-status-tile--down { background: var(--aura-alert-danger-bg); border-color: var(--aura-alert-danger-border); }
1181
+ .aura-status-tile--problem { background: var(--aura-alert-warning-bg); border-color: var(--aura-alert-warning-border); }
1182
+ .aura-status-tile--maintenance { background: var(--aura-alert-info-bg); border-color: var(--aura-alert-info-border); }
1183
+ .aura-status-tile.is-interactive { cursor: pointer; transition: border-color var(--aura-duration-fast) var(--aura-ease); }
1184
+ .aura-status-tile.is-interactive:hover { border-color: var(--aura-border-strong); }
1185
+ .aura-status-tile.is-interactive:focus-visible { outline: var(--aura-focus-ring-width) solid var(--aura-focus-ring); outline-offset: var(--aura-focus-ring-offset); }
1186
+ .aura-status-tile__head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 var(--aura-space-2); min-width: 0; }
1187
+ .aura-status-tile__sep { font-size: 0; }
1188
+ .aura-status-tile__icon { flex: none; margin-top: 1px; color: var(--aura-fg-secondary); }
1189
+ .aura-status-tile--down .aura-status-tile__icon { color: var(--aura-alert-danger-fg); }
1190
+ .aura-status-tile--problem .aura-status-tile__icon { color: var(--aura-alert-warning-fg); }
1191
+ .aura-status-tile--maintenance .aura-status-tile__icon { color: var(--aura-alert-info-fg); }
1192
+ /* Two lines at most: similar names stay apart. */
1193
+ .aura-status-tile__title {
1194
+ flex: 1 1 0; min-width: 0; font-weight: 600; overflow-wrap: break-word;
1195
+ display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
1196
+ }
1197
+ .aura-status-tile__value { flex: none; margin-inline-start: auto; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
1198
+ .aura-status-tile__value.is-danger, .aura-status-tile__marker.is-danger { color: var(--aura-fg-danger); }
1199
+ .aura-status-tile__value.is-warning, .aura-status-tile__marker.is-warning { color: var(--aura-fg-warning); }
1200
+ .aura-status-tile__value.is-accent, .aura-status-tile__marker.is-accent { color: var(--aura-fg-accent); }
1201
+ .aura-status-tile__value.is-neutral, .aura-status-tile__marker.is-neutral { color: var(--aura-fg-secondary); }
1202
+ .aura-status-tile--down .aura-status-tile__value.is-danger { color: var(--aura-alert-danger-fg); }
1203
+ .aura-status-tile--problem .aura-status-tile__value.is-warning { color: var(--aura-alert-warning-fg); }
1204
+ .aura-status-tile--maintenance .aura-status-tile__value.is-accent { color: var(--aura-alert-info-fg); }
1205
+ /* A narrow tile in a TileGrid (two columns on a phone) puts the value on its own line under the title, in every tile
1206
+ * alike, rather than squeezing the title to a word. The grid's cells are the containers: on the tile itself, inline-size
1207
+ * containment would collapse a tile in a flex row or an inline block to nothing. */
1208
+ @container aura-status-tile (max-width: 225.98px) {
1209
+ .aura-status-tile__value { flex-basis: 100%; margin-inline-start: 0; padding-inline-start: 24px; }
1210
+ }
1211
+ /* The second line starts under the title. */
1212
+ .aura-status-tile__foot { display: flex; align-items: center; gap: var(--aura-space-2); min-width: 0; padding-inline-start: 24px; font-size: 12px; color: var(--aura-fg-secondary); }
1213
+ .aura-status-tile__meta { flex: 1; min-width: 0; overflow-wrap: anywhere; }
1214
+ .aura-status-tile__markers { display: inline-flex; align-items: center; gap: var(--aura-space-1); margin-inline-start: auto; flex: none; }
1215
+ .aura-status-tile__marker { display: inline-flex; }
1216
+ .aura-status-tile:lang(th) { line-height: 20px; }
1217
+ .aura-sparkline { display: inline-block; flex: none; vertical-align: middle; overflow: visible; color: var(--aura-fg-secondary); }
1218
+ .aura-sparkline.is-accent { color: var(--aura-fg-accent); }
1219
+ .aura-sparkline.is-danger { color: var(--aura-fg-danger); }
1220
+ .aura-sparkline.is-warning { color: var(--aura-fg-warning); }
1221
+ .aura-sparkline.is-positive { color: var(--aura-fg-positive); }
1222
+ .aura-sparkline__line { fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; }
1223
+ .aura-sparkline__dots { fill: currentColor; }
1224
+ .aura-sparkline__band { fill: var(--aura-fg-danger); opacity: 0.16; }
1225
+ .aura-sparkline__ticks { fill: var(--aura-fg-danger); }
1226
+ @media (forced-colors: active) {
1227
+ .aura-sparkline { color: CanvasText; }
1228
+ .aura-sparkline__band, .aura-sparkline__ticks { fill: Highlight; }
1229
+ }
1230
+
1169
1231
  /* ---------- TimePicker ---------- */
1170
1232
  .aura-time__popover { min-width: 160px; }
1171
1233
  .aura-time__option { min-height: 36px; font-variant-numeric: tabular-nums; }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jirawatpyk/aura-react",
3
- "version": "5.33.0",
3
+ "version": "5.34.0",
4
4
  "description": "AURA Design System — React components (Enterprise Standard, Human Creative). Thai-first: Buddhist-era dates, Thai collation.",
5
5
  "license": "MIT",
6
6
  "type": "module",