wimui 0.63.1 → 0.63.2

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.
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=(e,t)=>{if(typeof IntersectionObserver>`u`)return()=>{};let n=e.ownerDocument.documentElement,r=null,i,a=()=>{clearTimeout(i),r?.disconnect(),r=null},o=(s,c=1)=>{a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s&&t(),!d||!f)return;let p=[-Math.floor(u),-Math.floor(n.clientWidth-(l+d)),-Math.floor(n.clientHeight-(u+f)),-Math.floor(l)].map(e=>`${e}px`).join(` `),m=!0;r=new IntersectionObserver(t=>{let n=t[0].intersectionRatio;if(typeof n!=`number`){a();return}let r=e.getBoundingClientRect();if(m&&(Math.abs(r.left-l)>=1||Math.abs(r.top-u)>=1)){o(!0);return}if(n!==c){if(!m){o(!0);return}n?o(!1,n):i=setTimeout(()=>o(!1,1e-7),1e3)}m=!1},{rootMargin:p,threshold:Math.max(0,Math.min(1,c))||1}),r.observe(e)};return o(!1),a};exports.observeMove=e;
2
+ var e=(e,t)=>{if(typeof IntersectionObserver>`u`)return()=>{};let n=e.ownerDocument?.documentElement;if(!n)return()=>{};let r=null,i,a=()=>{clearTimeout(i),r?.disconnect(),r=null},o=(s,c=1)=>{a();let{left:l,top:u,width:d,height:f}=e.getBoundingClientRect();if(s&&t(),!d||!f)return;let p=[-Math.floor(u),-Math.floor(n.clientWidth-(l+d)),-Math.floor(n.clientHeight-(u+f)),-Math.floor(l)].map(e=>`${e}px`).join(` `),m=!0;r=new IntersectionObserver(t=>{let n=t[0].intersectionRatio;if(typeof n!=`number`){a();return}let r=e.getBoundingClientRect();if(m&&(Math.abs(r.left-l)>=1||Math.abs(r.top-u)>=1)){o(!0);return}if(n!==c){if(!m){o(!0);return}n?o(!1,n):i=setTimeout(()=>o(!1,1e-7),1e3)}m=!1},{rootMargin:p,threshold:Math.max(0,Math.min(1,c))||1}),r.observe(e)};return o(!1),a};exports.observeMove=e;
@@ -2,7 +2,9 @@
2
2
  //#region src/components/_internal/observeMove.ts
3
3
  var e = (e, t) => {
4
4
  if (typeof IntersectionObserver > "u") return () => {};
5
- let n = e.ownerDocument.documentElement, r = null, i, a = () => {
5
+ let n = e.ownerDocument?.documentElement;
6
+ if (!n) return () => {};
7
+ let r = null, i, a = () => {
6
8
  clearTimeout(i), r?.disconnect(), r = null;
7
9
  }, o = (s, c = 1) => {
8
10
  a();
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./appshell.module.cjs"),n=require("./warn-discarded-sidebar.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=new Set([]),s=e=>r.default.Children.toArray(e).some(e=>r.default.isValidElement(e)&&o.has(e.type)),c=r.default.forwardRef(({className:e,children:r,header:o,sidebar:c,footer:l,navbar:u,padding:d=!0,centered:f,maxWidth:p,...m},h)=>{let g=s(r);g&&c&&n.warnDiscardedSidebarProp();let _=p?{"--wim-appshell-max-width":typeof p==`number`?`${p}px`:p}:void 0;return(0,a.jsxs)(`div`,{ref:h,className:(0,i.default)(`wim-app-shell`,t.default.root,!!u&&t.default.withNavbar,e),style:_,...m,children:[o&&(0,a.jsx)(`div`,{className:t.default.header,children:o}),g?r:(0,a.jsxs)(`div`,{className:t.default.body,children:[c&&(0,a.jsx)(`div`,{className:t.default.sidebar,children:c}),(0,a.jsx)(`main`,{className:(0,i.default)(t.default.main,d&&t.default.padded,f&&t.default.centered),tabIndex:0,children:f?(0,a.jsx)(`div`,{className:t.default.content,children:r}):r})]}),u&&(0,a.jsx)(`div`,{className:t.default.navbar,children:u}),l&&(0,a.jsx)(`div`,{className:t.default.footer,children:l})]})});c.displayName=`AppShell`;var l=r.default.forwardRef(({className:e,children:n,padding:r=!0,centered:o,...s},c)=>(0,a.jsx)(`main`,{ref:c,className:(0,i.default)(t.default.main,r&&t.default.padded,o&&t.default.centered,e),tabIndex:0,...s,children:o?(0,a.jsx)(`div`,{className:t.default.content,children:n}):n}));l.displayName=`AppShell.Main`;var u=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.body,e),...r,children:n}));u.displayName=`AppShell.Body`;var d=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.header,e),...r,children:n}));d.displayName=`AppShell.Header`;var f=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.sidebar,e),...r,children:n}));f.displayName=`AppShell.Sidebar`;var p=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.footer,e),...r,children:n}));p.displayName=`AppShell.Footer`;var m=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.navbar,e),...r,children:n}));m.displayName=`AppShell.Navbar`;var h=c;for(let e of[u,l,d,f,p,m])o.add(e);h.Main=l,h.Body=u,h.Header=d,h.Sidebar=f,h.Footer=p,h.Navbar=m,exports.AppShell=h,exports.default=h,exports.AppShellBody=u,exports.AppShellFooter=p,exports.AppShellHeader=d,exports.AppShellMain=l,exports.AppShellNavbar=m,exports.AppShellRoot=c,exports.AppShellSidebar=f;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./appshell.module.cjs"),n=require("./warn-discarded-sidebar.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=new Set([]),s=e=>r.default.Children.toArray(e).some(e=>r.default.isValidElement(e)&&o.has(e.type)),c=r.default.forwardRef(({className:e,children:r,header:o,sidebar:c,footer:l,navbar:u,padding:d=!0,centered:f,maxWidth:p,...m},h)=>{let g=s(r);g&&c&&n.warnDiscardedSidebarProp();let _=p?{"--wim-appshell-max-width":typeof p==`number`?`${p}px`:p}:void 0;return(0,a.jsxs)(`div`,{ref:h,className:(0,i.default)(`wim-app-shell`,t.default.root,!!u&&t.default.withNavbar,e),...m,style:{..._,...m.style},children:[o&&(0,a.jsx)(`div`,{className:t.default.header,children:o}),g?r:(0,a.jsxs)(`div`,{className:t.default.body,children:[c&&(0,a.jsx)(`div`,{className:t.default.sidebar,children:c}),(0,a.jsx)(`main`,{className:(0,i.default)(t.default.main,d&&t.default.padded,f&&t.default.centered),tabIndex:0,children:f?(0,a.jsx)(`div`,{className:t.default.content,children:r}):r})]}),u&&(0,a.jsx)(`div`,{className:t.default.navbar,children:u}),l&&(0,a.jsx)(`div`,{className:t.default.footer,children:l})]})});c.displayName=`AppShell`;var l=r.default.forwardRef(({className:e,children:n,padding:r=!0,centered:o,...s},c)=>(0,a.jsx)(`main`,{ref:c,className:(0,i.default)(t.default.main,r&&t.default.padded,o&&t.default.centered,e),tabIndex:0,...s,children:o?(0,a.jsx)(`div`,{className:t.default.content,children:n}):n}));l.displayName=`AppShell.Main`;var u=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.body,e),...r,children:n}));u.displayName=`AppShell.Body`;var d=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.header,e),...r,children:n}));d.displayName=`AppShell.Header`;var f=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.sidebar,e),...r,children:n}));f.displayName=`AppShell.Sidebar`;var p=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.footer,e),...r,children:n}));p.displayName=`AppShell.Footer`;var m=r.default.forwardRef(({className:e,children:n,...r},o)=>(0,a.jsx)(`div`,{ref:o,className:(0,i.default)(t.default.navbar,e),...r,children:n}));m.displayName=`AppShell.Navbar`;var h=c;for(let e of[u,l,d,f,p,m])o.add(e);h.Main=l,h.Body=u,h.Header=d,h.Sidebar=f,h.Footer=p,h.Navbar=m,exports.AppShell=h,exports.default=h,exports.AppShellBody=u,exports.AppShellFooter=p,exports.AppShellHeader=d,exports.AppShellMain=l,exports.AppShellNavbar=m,exports.AppShellRoot=c,exports.AppShellSidebar=f;
@@ -12,8 +12,11 @@ var o = /* @__PURE__ */ new Set([]), s = (e) => n.Children.toArray(e).some((e) =
12
12
  return /* @__PURE__ */ a("div", {
13
13
  ref: g,
14
14
  className: r("wim-app-shell", e.root, !!d && e.withNavbar, n),
15
- style: v,
16
15
  ...h,
16
+ style: {
17
+ ...v,
18
+ ...h.style
19
+ },
17
20
  children: [
18
21
  c && /* @__PURE__ */ i("div", {
19
22
  className: e.header,
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./sidebar.module.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("classnames");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a=n.default.forwardRef(({className:e,children:n,fixed:a,collapsed:o,width:s=260,bordered:c=!0,responsive:l=!0,mobileOpen:u,onOverlayClick:d,...f},p)=>{let m={"--wim-sidebar-width":typeof s==`number`?`${s}px`:s};return(0,i.jsxs)(i.Fragment,{children:[l&&u&&(0,i.jsx)(`div`,{className:t.default.overlay,onClick:d,"aria-hidden":`true`}),(0,i.jsx)(`aside`,{ref:p,style:m,className:(0,r.default)(`wim-sidebar`,t.default.root,a&&t.default.fixed,o&&t.default.collapsed,c&&t.default.bordered,l&&t.default.responsive,u&&t.default[`mobile-open`],e),"data-collapsed":o,...f,children:(0,i.jsx)(`div`,{className:t.default.container,children:n})})]})});a.displayName=`Sidebar`;var o=n.default.forwardRef(({className:e,children:n,...a},o)=>(0,i.jsx)(`div`,{ref:o,className:(0,r.default)(t.default.header,e),...a,children:n}));o.displayName=`Sidebar.Header`;var s=n.default.forwardRef(({className:e,children:n,...a},o)=>(0,i.jsx)(`div`,{ref:o,className:(0,r.default)(t.default.content,e),...a,children:n}));s.displayName=`Sidebar.Content`;var c=n.default.forwardRef(({className:e,children:n,...a},o)=>(0,i.jsx)(`div`,{ref:o,className:(0,r.default)(t.default.footer,e),...a,children:n}));c.displayName=`Sidebar.Footer`;var l=n.default.forwardRef(({className:e,children:n,active:a,disabled:o,icon:s,...c},l)=>(0,i.jsxs)(`div`,{ref:l,className:(0,r.default)(t.default.item,a&&t.default.active,o&&t.default.disabled,e),...c,children:[s&&(0,i.jsx)(`span`,{className:t.default.itemIcon,children:s}),(0,i.jsx)(`span`,{className:t.default.itemText,children:n})]}));l.displayName=`Sidebar.Item`;var u=a;u.Header=o,u.Content=s,u.Footer=c,u.Item=l,exports.Sidebar=u,exports.default=u,exports.SidebarContent=s,exports.SidebarFooter=c,exports.SidebarHeader=o,exports.SidebarItem=l;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./sidebar.module.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("classnames");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a=n.default.forwardRef(({className:e,children:n,fixed:a,collapsed:o,width:s=260,bordered:c=!0,responsive:l=!0,mobileOpen:u,onOverlayClick:d,...f},p)=>{let m={"--wim-sidebar-width":typeof s==`number`?`${s}px`:s};return(0,i.jsxs)(i.Fragment,{children:[l&&u&&(0,i.jsx)(`div`,{className:t.default.overlay,onClick:d,"aria-hidden":`true`}),(0,i.jsx)(`aside`,{ref:p,className:(0,r.default)(`wim-sidebar`,t.default.root,a&&t.default.fixed,o&&t.default.collapsed,c&&t.default.bordered,l&&t.default.responsive,u&&t.default[`mobile-open`],e),"data-collapsed":o,...f,style:{...m,...f.style},children:(0,i.jsx)(`div`,{className:t.default.container,children:n})})]})});a.displayName=`Sidebar`;var o=n.default.forwardRef(({className:e,children:n,...a},o)=>(0,i.jsx)(`div`,{ref:o,className:(0,r.default)(t.default.header,e),...a,children:n}));o.displayName=`Sidebar.Header`;var s=n.default.forwardRef(({className:e,children:n,...a},o)=>(0,i.jsx)(`div`,{ref:o,className:(0,r.default)(t.default.content,e),...a,children:n}));s.displayName=`Sidebar.Content`;var c=n.default.forwardRef(({className:e,children:n,...a},o)=>(0,i.jsx)(`div`,{ref:o,className:(0,r.default)(t.default.footer,e),...a,children:n}));c.displayName=`Sidebar.Footer`;var l=n.default.forwardRef(({className:e,children:n,active:a,disabled:o,icon:s,...c},l)=>(0,i.jsxs)(`div`,{ref:l,className:(0,r.default)(t.default.item,a&&t.default.active,o&&t.default.disabled,e),...c,children:[s&&(0,i.jsx)(`span`,{className:t.default.itemIcon,children:s}),(0,i.jsx)(`span`,{className:t.default.itemText,children:n})]}));l.displayName=`Sidebar.Item`;var u=a;u.Header=o,u.Content=s,u.Footer=c,u.Item=l,exports.Sidebar=u,exports.default=u,exports.SidebarContent=s,exports.SidebarFooter=c,exports.SidebarHeader=o,exports.SidebarItem=l;
@@ -12,10 +12,13 @@ var o = t.forwardRef(({ className: t, children: o, fixed: s, collapsed: c, width
12
12
  "aria-hidden": "true"
13
13
  }), /* @__PURE__ */ i("aside", {
14
14
  ref: h,
15
- style: g,
16
15
  className: n("wim-sidebar", e.root, s && e.fixed, c && e.collapsed, u && e.bordered, d && e.responsive, f && e["mobile-open"], t),
17
16
  "data-collapsed": c,
18
17
  ...m,
18
+ style: {
19
+ ...g,
20
+ ...m.style
21
+ },
19
22
  children: /* @__PURE__ */ i("div", {
20
23
  className: e.container,
21
24
  children: o
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("./anchor.module.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("classnames");r=e.__toESM(r,1);let i=require("react/jsx-runtime");var a=({items:e=[],bounds:a=5,offset:o=0,direction:s=`vertical`,className:c,style:l,"aria-label":u,"aria-labelledby":d})=>{let[f,p]=(0,n.useState)(``),[m,h]=(0,n.useState)({}),g=(0,n.useRef)(null),_=(e,t)=>{e.preventDefault();let n=t.replace(`#`,``),r=document.getElementById(n);r&&(window.scrollTo({top:r.offsetTop-o,behavior:`smooth`}),p(t))};(0,n.useLayoutEffect)(()=>{let t=()=>{let t=(e,n)=>{let r=[];return e.forEach(e=>{r.push({href:e.href,parentHref:n}),e.children&&(r=r.concat(t(e.children,n||e.href)))}),r},n=t(e),r=``,i=window.scrollY||document.documentElement.scrollTop,c=document.documentElement.scrollHeight,l=document.documentElement.clientHeight;if(i>0&&Math.ceil(i+l)>=c&&n.length>0){let e=n[n.length-1];r=s===`horizontal`&&e.parentHref?e.parentHref:e.href}else for(let e of n){let t=e.href.replace(`#`,``),n=document.getElementById(t);if(n){if(n.getBoundingClientRect().top<=o+a)r=s===`horizontal`&&e.parentHref?e.parentHref:e.href;else break}}r&&r!==f&&p(r)};return window.addEventListener(`scroll`,t),t(),()=>window.removeEventListener(`scroll`,t)},[e,o,a,f,s]);let v=(0,n.useCallback)(()=>{if(!f||!g.current)return;let e=g.current.querySelector(`a[href="${f}"]`);if(e){let n=g.current.getBoundingClientRect();if(s===`vertical`){let t=e.getBoundingClientRect();h({top:t.top-n.top,height:t.height,opacity:1})}else{let r=g.current.querySelector(`.${t.default.list}`);if(r){let t=e.getBoundingClientRect(),i=r.getBoundingClientRect(),a=t.left-i.left+r.scrollLeft,o=a-i.width/2+t.width/2,s=r.scrollWidth-i.width,c=Math.max(0,Math.min(o,s)),l=a-c+(i.left-n.left);h({left:l,width:t.width,opacity:1}),r.scrollTo({left:c,behavior:`smooth`})}else{let t=e.getBoundingClientRect();h({left:t.left-g.current.getBoundingClientRect().left,width:t.width,opacity:1})}}}else h({opacity:0})},[f,s]);(0,n.useLayoutEffect)(()=>{v()},[v]),(0,n.useEffect)(()=>{let e=g.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>v());return t.observe(e),e.querySelectorAll(`a`).forEach(e=>t.observe(e)),()=>t.disconnect()},[v,e]);let y=e=>(0,i.jsx)(`ul`,{className:(0,r.default)(t.default.list,t.default[s]),children:e.map(e=>(0,i.jsxs)(`li`,{className:(0,r.default)(t.default.item,f===e.href&&t.default.active),children:[(0,i.jsx)(`a`,{href:e.href,className:t.default.link,"aria-current":f===e.href?`location`:void 0,onClick:t=>_(t,e.href),title:typeof e.title==`string`?e.title:void 0,children:e.title}),e.children&&s===`vertical`&&y(e.children)]},e.key))});return(0,i.jsxs)(`div`,{className:(0,r.default)(`wim-anchor`,t.default.root,t.default[s],c),style:l,ref:g,role:u||d?`navigation`:void 0,"aria-label":d?void 0:u,"aria-labelledby":d,children:[(0,i.jsx)(`div`,{className:t.default.ink,children:(0,i.jsx)(`span`,{className:t.default.inkBall,style:m})}),y(e)]})};exports.Anchor=a,exports.default=a;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../_internal/observeMove.cjs"),n=require("./anchor.module.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("classnames");i=e.__toESM(i,1);let a=require("react/jsx-runtime");var o=({items:e=[],bounds:o=5,offset:s=0,direction:c=`vertical`,className:l,style:u,"aria-label":d,"aria-labelledby":f})=>{let[p,m]=(0,r.useState)(``),[h,g]=(0,r.useState)({}),_=(0,r.useRef)(null),v=(e,t)=>{e.preventDefault();let n=t.replace(`#`,``),r=document.getElementById(n);r&&(window.scrollTo({top:r.offsetTop-s,behavior:`smooth`}),m(t))};(0,r.useLayoutEffect)(()=>{let n=()=>{let t=(e,n)=>{let r=[];return e.forEach(e=>{r.push({href:e.href,parentHref:n}),e.children&&(r=r.concat(t(e.children,n||e.href)))}),r},n=t(e),r=``,i=window.scrollY||document.documentElement.scrollTop,a=document.documentElement.scrollHeight,l=document.documentElement.clientHeight;if(i>0&&Math.ceil(i+l)>=a&&n.length>0){let e=n[n.length-1];r=c===`horizontal`&&e.parentHref?e.parentHref:e.href}else for(let e of n){let t=e.href.replace(`#`,``),n=document.getElementById(t);if(n){if(n.getBoundingClientRect().top<=s+o)r=c===`horizontal`&&e.parentHref?e.parentHref:e.href;else break}}r&&r!==p&&m(r)};window.addEventListener(`scroll`,n),window.addEventListener(`resize`,n);let r=e=>e.flatMap(e=>[e.href,...e.children?r(e.children):[]]),i=r(e).map(e=>document.getElementById(e.replace(`#`,``))).filter(e=>e!==null).map(e=>t.observeMove(e,n));return n(),()=>{window.removeEventListener(`scroll`,n),window.removeEventListener(`resize`,n),i.forEach(e=>e())}},[e,s,o,p,c]);let y=(0,r.useCallback)(()=>{if(!p||!_.current)return;let e=_.current.querySelector(`a[href="${p}"]`);if(e){let t=_.current.getBoundingClientRect();if(c===`vertical`){let n=e.getBoundingClientRect();g({top:n.top-t.top,height:n.height,opacity:1})}else{let r=_.current.querySelector(`.${n.default.list}`);if(r){let n=e.getBoundingClientRect(),i=r.getBoundingClientRect(),a=n.left-i.left+r.scrollLeft,o=a-i.width/2+n.width/2,s=r.scrollWidth-i.width,c=Math.max(0,Math.min(o,s)),l=a-c+(i.left-t.left);g({left:l,width:n.width,opacity:1}),r.scrollTo({left:c,behavior:`smooth`})}else{let t=e.getBoundingClientRect();g({left:t.left-_.current.getBoundingClientRect().left,width:t.width,opacity:1})}}}else g({opacity:0})},[p,c]);(0,r.useLayoutEffect)(()=>{y()},[y]),(0,r.useEffect)(()=>{let e=_.current;if(!e||typeof ResizeObserver>`u`)return;let t=new ResizeObserver(()=>y());return t.observe(e),e.querySelectorAll(`a`).forEach(e=>t.observe(e)),()=>t.disconnect()},[y,e]);let b=e=>(0,a.jsx)(`ul`,{className:(0,i.default)(n.default.list,n.default[c]),children:e.map(e=>(0,a.jsxs)(`li`,{className:(0,i.default)(n.default.item,p===e.href&&n.default.active),children:[(0,a.jsx)(`a`,{href:e.href,className:n.default.link,"aria-current":p===e.href?`location`:void 0,onClick:t=>v(t,e.href),title:typeof e.title==`string`?e.title:void 0,children:e.title}),e.children&&c===`vertical`&&b(e.children)]},e.key))});return(0,a.jsxs)(`div`,{className:(0,i.default)(`wim-anchor`,n.default.root,n.default[c],l),style:u,ref:_,role:d||f?`navigation`:void 0,"aria-label":f?void 0:d,"aria-labelledby":f,children:[(0,a.jsx)(`div`,{className:n.default.ink,children:(0,a.jsx)(`span`,{className:n.default.inkBall,style:h})}),b(e)]})};exports.Anchor=o,exports.default=o;
@@ -1,20 +1,21 @@
1
1
  "use client";
2
- import e from "./anchor.module.js";
3
- import { useCallback as t, useEffect as n, useLayoutEffect as r, useRef as i, useState as a } from "react";
4
- import o from "classnames";
5
- import { jsx as s, jsxs as c } from "react/jsx-runtime";
2
+ import { observeMove as e } from "../../_internal/observeMove.js";
3
+ import t from "./anchor.module.js";
4
+ import { useCallback as n, useEffect as r, useLayoutEffect as i, useRef as a, useState as o } from "react";
5
+ import s from "classnames";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
7
  //#region src/components/navigation/Anchor/Anchor.tsx
7
- var l = ({ items: l = [], bounds: u = 5, offset: d = 0, direction: f = "vertical", className: p, style: m, "aria-label": h, "aria-labelledby": g }) => {
8
- let [_, v] = a(""), [y, b] = a({}), x = i(null), S = (e, t) => {
8
+ var u = ({ items: u = [], bounds: d = 5, offset: f = 0, direction: p = "vertical", className: m, style: h, "aria-label": g, "aria-labelledby": _ }) => {
9
+ let [v, y] = o(""), [b, x] = o({}), S = a(null), C = (e, t) => {
9
10
  e.preventDefault();
10
11
  let n = t.replace("#", ""), r = document.getElementById(n);
11
12
  r && (window.scrollTo({
12
- top: r.offsetTop - d,
13
+ top: r.offsetTop - f,
13
14
  behavior: "smooth"
14
- }), v(t));
15
+ }), y(t));
15
16
  };
16
- r(() => {
17
- let e = () => {
17
+ i(() => {
18
+ let t = () => {
18
19
  let e = (t, n) => {
19
20
  let r = [];
20
21
  return t.forEach((t) => {
@@ -23,99 +24,103 @@ var l = ({ items: l = [], bounds: u = 5, offset: d = 0, direction: f = "vertical
23
24
  parentHref: n
24
25
  }), t.children && (r = r.concat(e(t.children, n || t.href)));
25
26
  }), r;
26
- }, t = e(l), n = "", r = window.scrollY || document.documentElement.scrollTop, i = document.documentElement.scrollHeight, a = document.documentElement.clientHeight;
27
+ }, t = e(u), n = "", r = window.scrollY || document.documentElement.scrollTop, i = document.documentElement.scrollHeight, a = document.documentElement.clientHeight;
27
28
  if (r > 0 && Math.ceil(r + a) >= i && t.length > 0) {
28
29
  let e = t[t.length - 1];
29
- n = f === "horizontal" && e.parentHref ? e.parentHref : e.href;
30
+ n = p === "horizontal" && e.parentHref ? e.parentHref : e.href;
30
31
  } else for (let e of t) {
31
32
  let t = e.href.replace("#", ""), r = document.getElementById(t);
32
33
  if (r) {
33
- if (r.getBoundingClientRect().top <= d + u) n = f === "horizontal" && e.parentHref ? e.parentHref : e.href;
34
+ if (r.getBoundingClientRect().top <= f + d) n = p === "horizontal" && e.parentHref ? e.parentHref : e.href;
34
35
  else break;
35
36
  }
36
37
  }
37
- n && n !== _ && v(n);
38
+ n && n !== v && y(n);
39
+ };
40
+ window.addEventListener("scroll", t), window.addEventListener("resize", t);
41
+ let n = (e) => e.flatMap((e) => [e.href, ...e.children ? n(e.children) : []]), r = n(u).map((e) => document.getElementById(e.replace("#", ""))).filter((e) => e !== null).map((n) => e(n, t));
42
+ return t(), () => {
43
+ window.removeEventListener("scroll", t), window.removeEventListener("resize", t), r.forEach((e) => e());
38
44
  };
39
- return window.addEventListener("scroll", e), e(), () => window.removeEventListener("scroll", e);
40
45
  }, [
41
- l,
42
- d,
43
46
  u,
44
- _,
45
- f
47
+ f,
48
+ d,
49
+ v,
50
+ p
46
51
  ]);
47
- let C = t(() => {
48
- if (!_ || !x.current) return;
49
- let t = x.current.querySelector(`a[href="${_}"]`);
50
- if (t) {
51
- let n = x.current.getBoundingClientRect();
52
- if (f === "vertical") {
53
- let e = t.getBoundingClientRect();
54
- b({
55
- top: e.top - n.top,
56
- height: e.height,
52
+ let w = n(() => {
53
+ if (!v || !S.current) return;
54
+ let e = S.current.querySelector(`a[href="${v}"]`);
55
+ if (e) {
56
+ let n = S.current.getBoundingClientRect();
57
+ if (p === "vertical") {
58
+ let t = e.getBoundingClientRect();
59
+ x({
60
+ top: t.top - n.top,
61
+ height: t.height,
57
62
  opacity: 1
58
63
  });
59
64
  } else {
60
- let r = x.current.querySelector(`.${e.list}`);
65
+ let r = S.current.querySelector(`.${t.list}`);
61
66
  if (r) {
62
- let e = t.getBoundingClientRect(), i = r.getBoundingClientRect(), a = e.left - i.left + r.scrollLeft, o = a - i.width / 2 + e.width / 2, s = r.scrollWidth - i.width, c = Math.max(0, Math.min(o, s)), l = a - c + (i.left - n.left);
63
- b({
67
+ let t = e.getBoundingClientRect(), i = r.getBoundingClientRect(), a = t.left - i.left + r.scrollLeft, o = a - i.width / 2 + t.width / 2, s = r.scrollWidth - i.width, c = Math.max(0, Math.min(o, s)), l = a - c + (i.left - n.left);
68
+ x({
64
69
  left: l,
65
- width: e.width,
70
+ width: t.width,
66
71
  opacity: 1
67
72
  }), r.scrollTo({
68
73
  left: c,
69
74
  behavior: "smooth"
70
75
  });
71
76
  } else {
72
- let e = t.getBoundingClientRect();
73
- b({
74
- left: e.left - x.current.getBoundingClientRect().left,
75
- width: e.width,
77
+ let t = e.getBoundingClientRect();
78
+ x({
79
+ left: t.left - S.current.getBoundingClientRect().left,
80
+ width: t.width,
76
81
  opacity: 1
77
82
  });
78
83
  }
79
84
  }
80
- } else b({ opacity: 0 });
81
- }, [_, f]);
82
- r(() => {
83
- C();
84
- }, [C]), n(() => {
85
- let e = x.current;
85
+ } else x({ opacity: 0 });
86
+ }, [v, p]);
87
+ i(() => {
88
+ w();
89
+ }, [w]), r(() => {
90
+ let e = S.current;
86
91
  if (!e || typeof ResizeObserver > "u") return;
87
- let t = new ResizeObserver(() => C());
92
+ let t = new ResizeObserver(() => w());
88
93
  return t.observe(e), e.querySelectorAll("a").forEach((e) => t.observe(e)), () => t.disconnect();
89
- }, [C, l]);
90
- let w = (t) => /* @__PURE__ */ s("ul", {
91
- className: o(e.list, e[f]),
92
- children: t.map((t) => /* @__PURE__ */ c("li", {
93
- className: o(e.item, _ === t.href && e.active),
94
- children: [/* @__PURE__ */ s("a", {
95
- href: t.href,
96
- className: e.link,
97
- "aria-current": _ === t.href ? "location" : void 0,
98
- onClick: (e) => S(e, t.href),
99
- title: typeof t.title == "string" ? t.title : void 0,
100
- children: t.title
101
- }), t.children && f === "vertical" && w(t.children)]
102
- }, t.key))
94
+ }, [w, u]);
95
+ let T = (e) => /* @__PURE__ */ c("ul", {
96
+ className: s(t.list, t[p]),
97
+ children: e.map((e) => /* @__PURE__ */ l("li", {
98
+ className: s(t.item, v === e.href && t.active),
99
+ children: [/* @__PURE__ */ c("a", {
100
+ href: e.href,
101
+ className: t.link,
102
+ "aria-current": v === e.href ? "location" : void 0,
103
+ onClick: (t) => C(t, e.href),
104
+ title: typeof e.title == "string" ? e.title : void 0,
105
+ children: e.title
106
+ }), e.children && p === "vertical" && T(e.children)]
107
+ }, e.key))
103
108
  });
104
- return /* @__PURE__ */ c("div", {
105
- className: o("wim-anchor", e.root, e[f], p),
106
- style: m,
107
- ref: x,
108
- role: h || g ? "navigation" : void 0,
109
- "aria-label": g ? void 0 : h,
110
- "aria-labelledby": g,
111
- children: [/* @__PURE__ */ s("div", {
112
- className: e.ink,
113
- children: /* @__PURE__ */ s("span", {
114
- className: e.inkBall,
115
- style: y
109
+ return /* @__PURE__ */ l("div", {
110
+ className: s("wim-anchor", t.root, t[p], m),
111
+ style: h,
112
+ ref: S,
113
+ role: g || _ ? "navigation" : void 0,
114
+ "aria-label": _ ? void 0 : g,
115
+ "aria-labelledby": _,
116
+ children: [/* @__PURE__ */ c("div", {
117
+ className: t.ink,
118
+ children: /* @__PURE__ */ c("span", {
119
+ className: t.inkBall,
120
+ style: b
116
121
  })
117
- }), w(l)]
122
+ }), T(u)]
118
123
  });
119
124
  };
120
125
  //#endregion
121
- export { l as Anchor, l as default };
126
+ export { u as Anchor, u as default };
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.63.1 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.63.2 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10
 
package/dist/llms.txt CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What this is
6
6
 
7
- **wimui** v0.63.1 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
7
+ **wimui** v0.63.2 — a React 19 component library: 228 documented components across 10 categories, with design tokens, dark mode, i18n (en/ja/pt-BR) and WAI-ARIA compliant a11y. Peer deps: react ^19, react-dom ^19 (plus optional peers for specific components — see package.json).
8
8
 
9
9
  ## Install & required setup
10
10