@celestia-island/hikari 0.55.191 → 0.55.192
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,5 +1,5 @@
|
|
|
1
1
|
import { computed, defineComponent, onUnmounted, ref, watch, type PropType } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { Monitor, MoonStar, Palette, Sun, Trash as Trash2 } from "lucide-vue-next";
|
|
3
3
|
import {
|
|
4
4
|
HDivider,
|
|
5
5
|
solarAltitude,
|
|
@@ -274,12 +274,15 @@ export const HkThemePanelContent = defineComponent({
|
|
|
274
274
|
data-active={currentTheme.value === th.id || undefined}
|
|
275
275
|
onClick={() => onSelectTheme(th.id)}
|
|
276
276
|
>
|
|
277
|
+
{/* The selected-check fallback is RETIRED (2026-10-21
|
|
278
|
+
user direction): selection is conveyed by the row's
|
|
279
|
+
data-active wash alone — with the leading icon cell
|
|
280
|
+
gone across hosts, the leftover check read as a
|
|
281
|
+
stray icon. No leading slot = no leading mark. */}
|
|
277
282
|
{leadingSlot ? (
|
|
278
283
|
<span class="hk-menu-item-icon s-theme-item-lead">
|
|
279
284
|
{leadingSlot(scope)}
|
|
280
285
|
</span>
|
|
281
|
-
) : currentTheme.value === th.id ? (
|
|
282
|
-
<span class="hk-menu-item-icon s-theme-item-check"><Check size={14} /></span>
|
|
283
286
|
) : null}
|
|
284
287
|
<span class="s-theme-item-name">{displayName}</span>
|
|
285
288
|
{nameSuffixSlot ? (
|
|
@@ -329,10 +329,9 @@
|
|
|
329
329
|
margin-inline-end: 2rem;
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
}
|
|
332
|
+
/* The selected-check cell retired with its render branch (2026-10-21
|
|
333
|
+
* user direction): the active row's data-active wash is the sole
|
|
334
|
+
* selection indicator. */
|
|
336
335
|
|
|
337
336
|
/* Hover/active states come verbatim from the unified mi.item spec included
|
|
338
337
|
* on .s-theme-item-btn above — former local copies deleted (R3 sweep). */
|
|
@@ -280,9 +280,12 @@ describe("HkThemeToggle color-mode group", () => {
|
|
|
280
280
|
}
|
|
281
281
|
expect(customRows).toBe(1);
|
|
282
282
|
|
|
283
|
-
//
|
|
283
|
+
// The active row's selection indicator is the data-active wash alone:
|
|
284
|
+
// the check glyph retired with the leading-icon cell (2026-10-21 user
|
|
285
|
+
// direction). No leading mark renders without an item-leading slot.
|
|
284
286
|
const activeBtn = document.body.querySelector<HTMLButtonElement>(".s-theme-item-btn[data-active]");
|
|
285
|
-
expect(activeBtn
|
|
287
|
+
expect(activeBtn).toBeTruthy();
|
|
288
|
+
expect(activeBtn?.querySelector(".s-theme-item-check")).toBeNull();
|
|
286
289
|
|
|
287
290
|
// The ROW is the pill (2026-10-01): the active state surfaces on the
|
|
288
291
|
// row element too, so the highlight spans the full row width instead
|
|
@@ -25,7 +25,7 @@ export { type ThemeItemScope } from "./HkThemePanelContent";
|
|
|
25
25
|
*
|
|
26
26
|
* Theme rows are host-customizable through three scoped slots (all render
|
|
27
27
|
* in the popover AND the mobile bottom sheet — same DOM):
|
|
28
|
-
* · `item-leading` —
|
|
28
|
+
* · `item-leading` — renders for
|
|
29
29
|
* every row in the fixed icon cell so names align regardless of the
|
|
30
30
|
* active row. Scope: `ThemeItemScope` (id/name/isCustom/preset).
|
|
31
31
|
* · `item-name-suffix` — an inline cell rendered INSIDE the row button,
|