@umami/shiso 1.1.10 → 1.1.11

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to `@umami/shiso` are documented here. This project follows
4
4
  [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## 1.1.11 - 2026-08-19
7
+
8
+ ### Changed
9
+
10
+ - Remove rounded corners from full-screen images and anchor the close button to
11
+ the viewport's top-right corner.
12
+ - Render the active sidebar page label in bold.
13
+
6
14
  ## 1.1.10 - 2026-08-19
7
15
 
8
16
  ### Added
@@ -20514,40 +20514,40 @@ function ZoomableImage({ noZoom = false, className, alt, src, ...props }) {
20514
20514
  });
20515
20515
  if (noZoom || !src) return image;
20516
20516
  const label = alt ? `View “${alt}” full size` : "View image full size";
20517
- return /* @__PURE__ */ jsxs(Dialog$1, { children: [/* @__PURE__ */ jsx(DialogTrigger, {
20518
- render: /* @__PURE__ */ jsx("button", {
20519
- type: "button",
20520
- "data-slot": "zoomable-image",
20521
- className: "my-6 block w-fit max-w-full cursor-zoom-in rounded-lg text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",
20522
- "aria-label": label
20517
+ return /* @__PURE__ */ jsxs(Dialog$1, { children: [
20518
+ /* @__PURE__ */ jsx(DialogTrigger, {
20519
+ render: /* @__PURE__ */ jsx("button", {
20520
+ type: "button",
20521
+ "data-slot": "zoomable-image",
20522
+ className: "my-6 block w-fit max-w-full cursor-zoom-in rounded-lg text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50",
20523
+ "aria-label": label
20524
+ }),
20525
+ children: image
20523
20526
  }),
20524
- children: image
20525
- }), /* @__PURE__ */ jsxs(DialogContent$1, {
20526
- showCloseButton: false,
20527
- overlayClassName: "bg-black/80 supports-backdrop-filter:backdrop-blur-sm",
20528
- className: "flex max-h-[calc(100vh-2rem)] w-auto max-w-[calc(100vw-2rem)] items-center justify-center bg-transparent p-0 ring-0 shadow-none sm:max-w-[calc(100vw-2rem)]",
20529
- children: [
20530
- /* @__PURE__ */ jsx(DialogTitle, {
20527
+ /* @__PURE__ */ jsxs(DialogContent$1, {
20528
+ showCloseButton: false,
20529
+ overlayClassName: "bg-black/80 supports-backdrop-filter:backdrop-blur-sm",
20530
+ className: "flex max-h-[calc(100vh-2rem)] w-auto max-w-[calc(100vw-2rem)] items-center justify-center bg-transparent p-0 ring-0 shadow-none sm:max-w-[calc(100vw-2rem)]",
20531
+ children: [/* @__PURE__ */ jsx(DialogTitle, {
20531
20532
  className: "sr-only",
20532
20533
  children: alt || "Full-size image"
20533
- }),
20534
- /* @__PURE__ */ jsx("img", {
20534
+ }), /* @__PURE__ */ jsx("img", {
20535
20535
  src,
20536
20536
  srcSet: props.srcSet,
20537
20537
  sizes: props.sizes,
20538
20538
  alt: alt || "",
20539
- className: "max-h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)] rounded-lg object-contain"
20539
+ className: "max-h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)] object-contain"
20540
+ })]
20541
+ }),
20542
+ /* @__PURE__ */ jsx(DialogPortal$1, { children: /* @__PURE__ */ jsx(DialogClose, {
20543
+ render: /* @__PURE__ */ jsx("button", {
20544
+ type: "button",
20545
+ className: "fixed top-4 right-4 z-[60] inline-flex size-9 items-center justify-center rounded-full bg-black/60 text-white outline-none backdrop-blur-sm hover:bg-black/80 focus-visible:ring-3 focus-visible:ring-white/60",
20546
+ "aria-label": "Close full-size image"
20540
20547
  }),
20541
- /* @__PURE__ */ jsx(DialogClose, {
20542
- render: /* @__PURE__ */ jsx("button", {
20543
- type: "button",
20544
- className: "fixed top-4 right-4 inline-flex size-9 items-center justify-center rounded-full bg-black/60 text-white outline-none backdrop-blur-sm hover:bg-black/80 focus-visible:ring-3 focus-visible:ring-white/60",
20545
- "aria-label": "Close full-size image"
20546
- }),
20547
- children: /* @__PURE__ */ jsx(X$1, { className: "size-5" })
20548
- })
20549
- ]
20550
- })] });
20548
+ children: /* @__PURE__ */ jsx(X$1, { className: "size-5" })
20549
+ }) })
20550
+ ] });
20551
20551
  }
20552
20552
 
20553
20553
  //#endregion
@@ -26795,7 +26795,7 @@ function PageLinks({ items = [], title, navigationLabel }) {
26795
26795
  //#region src/components/SideNav.tsx
26796
26796
  const sectionLabelClass = "flex min-w-0 flex-1 items-center gap-[0.4rem] pb-2 pr-1 font-bold text-inherit";
26797
26797
  const groupLabelClass = "flex min-w-0 flex-1 items-center gap-[0.4rem] px-3 py-2 font-medium text-inherit";
26798
- const selectedClass = "border-l-sidebar-primary font-medium text-sidebar-primary hover:text-sidebar-primary";
26798
+ const selectedClass = "border-l-sidebar-primary font-bold text-sidebar-primary hover:text-sidebar-primary";
26799
26799
  /** True when the group's root or any descendant page is the current page. */
26800
26800
  function containsPage(node, pathname) {
26801
26801
  if (node.root?.page.url === pathname) return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@umami/shiso",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "Open-source documentation framework for Markdown and MDX sites.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -15,7 +15,7 @@ const sectionLabelClass =
15
15
  const groupLabelClass =
16
16
  'flex min-w-0 flex-1 items-center gap-[0.4rem] px-3 py-2 font-medium text-inherit';
17
17
  const selectedClass =
18
- 'border-l-sidebar-primary font-medium text-sidebar-primary hover:text-sidebar-primary';
18
+ 'border-l-sidebar-primary font-bold text-sidebar-primary hover:text-sidebar-primary';
19
19
 
20
20
  export interface SideNavProps {
21
21
  tabs: DocsTab[];
@@ -4,6 +4,7 @@ import {
4
4
  Dialog,
5
5
  DialogClose,
6
6
  DialogContent,
7
+ DialogPortal,
7
8
  DialogTitle,
8
9
  DialogTrigger,
9
10
  } from '@/components/ui/dialog';
@@ -60,20 +61,22 @@ export function ZoomableImage({
60
61
  srcSet={props.srcSet}
61
62
  sizes={props.sizes}
62
63
  alt={alt || ''}
63
- className="max-h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)] rounded-lg object-contain"
64
+ className="max-h-[calc(100vh-2rem)] max-w-[calc(100vw-2rem)] object-contain"
64
65
  />
66
+ </DialogContent>
67
+ <DialogPortal>
65
68
  <DialogClose
66
69
  render={
67
70
  <button
68
71
  type="button"
69
- className="fixed top-4 right-4 inline-flex size-9 items-center justify-center rounded-full bg-black/60 text-white outline-none backdrop-blur-sm hover:bg-black/80 focus-visible:ring-3 focus-visible:ring-white/60"
72
+ className="fixed top-4 right-4 z-[60] inline-flex size-9 items-center justify-center rounded-full bg-black/60 text-white outline-none backdrop-blur-sm hover:bg-black/80 focus-visible:ring-3 focus-visible:ring-white/60"
70
73
  aria-label="Close full-size image"
71
74
  />
72
75
  }
73
76
  >
74
77
  <XIcon className="size-5" />
75
78
  </DialogClose>
76
- </DialogContent>
79
+ </DialogPortal>
77
80
  </Dialog>
78
81
  );
79
82
  }