quirk-ui 0.0.410 → 0.0.411

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,20 +1,20 @@
1
1
  import { jsxs as l, jsx as s } from "react/jsx-runtime";
2
2
  import { useRef as v } from "react";
3
- import { E as g } from "./external-link-BOPobeQJ.js";
4
- import { C as k } from "./chevron-down-DSUzBz9F.js";
5
- import './assets/NavLink.css';const f = "_navbar_1bon6_5", w = "_sticky_1bon6_19", I = "_left_1bon6_34", C = "_container_1bon6_35", N = "_logo_1bon6_39", x = "_nav_1bon6_5", T = "_center_1bon6_54", E = "_hidden_1bon6_60", S = "_visible_1bon6_67", W = "_right_1bon6_82", $ = "_title_1bon6_89", y = "_linkWrapper_1bon6_99", L = "_parent_1bon6_99", M = "_linkItem_1bon6_107", j = "_link_1bon6_99", z = "_sublinkToggle_1bon6_111", R = "_standard_1bon6_159", D = "_triangle_1bon6_167", q = "_transparent_1bon6_172", A = "_twoColumn_1bon6_276", B = "_navInner_1bon6_398", F = "_grid_1bon6_409", G = "_separator_1bon6_444", H = "_newTabIcon_1bon6_474", J = "_open_1bon6_500", K = "_sublinks_1bon6_486", Q = "_show_1bon6_571", U = "_sublinksInner_1bon6_629", V = "_sublinksColumn_1bon6_647", X = "_chevron_1bon6_657", Y = "_advanced_1bon6_839", Z = "_withSpotlight_1bon6_890", O = "_withoutSpotlight_1bon6_894", P = "_searchWrapper_1bon6_940", o = {
3
+ import { E as k } from "./external-link-BOPobeQJ.js";
4
+ import { C as g } from "./chevron-down-DSUzBz9F.js";
5
+ import './assets/NavLink.css';const f = "_navbar_1bon6_5", w = "_sticky_1bon6_19", C = "_left_1bon6_34", I = "_container_1bon6_35", N = "_logo_1bon6_39", x = "_nav_1bon6_5", T = "_center_1bon6_54", y = "_hidden_1bon6_60", E = "_visible_1bon6_67", S = "_right_1bon6_82", W = "_title_1bon6_89", $ = "_linkWrapper_1bon6_99", L = "_parent_1bon6_99", M = "_linkItem_1bon6_107", j = "_link_1bon6_99", z = "_sublinkToggle_1bon6_111", R = "_standard_1bon6_159", D = "_triangle_1bon6_167", q = "_transparent_1bon6_172", A = "_twoColumn_1bon6_276", B = "_navInner_1bon6_398", F = "_grid_1bon6_409", G = "_separator_1bon6_444", H = "_newTabIcon_1bon6_474", J = "_linkContent_1bon6_489", K = "_open_1bon6_500", Q = "_sublinks_1bon6_486", U = "_show_1bon6_571", V = "_primaryColumn_1bon6_612", X = "_sublinksInner_1bon6_629", Y = "_sublinksColumn_1bon6_647", Z = "_chevron_1bon6_657", O = "_advanced_1bon6_839", P = "_subtitle_1bon6_848", nn = "_withSpotlight_1bon6_890", on = "_withoutSpotlight_1bon6_894", en = "_searchWrapper_1bon6_940", o = {
6
6
  navbar: f,
7
7
  sticky: w,
8
- left: I,
9
- container: C,
8
+ left: C,
9
+ container: I,
10
10
  logo: N,
11
11
  nav: x,
12
12
  center: T,
13
- hidden: E,
14
- visible: S,
15
- right: W,
16
- title: $,
17
- linkWrapper: y,
13
+ hidden: y,
14
+ visible: E,
15
+ right: S,
16
+ title: W,
17
+ linkWrapper: $,
18
18
  parent: L,
19
19
  linkItem: M,
20
20
  link: j,
@@ -27,35 +27,38 @@ import './assets/NavLink.css';const f = "_navbar_1bon6_5", w = "_sticky_1bon6_19
27
27
  grid: F,
28
28
  separator: G,
29
29
  newTabIcon: H,
30
- open: J,
31
- sublinks: K,
32
- show: Q,
33
- sublinksInner: U,
34
- sublinksColumn: V,
35
- chevron: X,
30
+ linkContent: J,
31
+ open: K,
32
+ sublinks: Q,
33
+ show: U,
34
+ primaryColumn: V,
35
+ sublinksInner: X,
36
+ sublinksColumn: Y,
37
+ chevron: Z,
36
38
  default: "_default_1bon6_773",
37
- advanced: Y,
38
- withSpotlight: Z,
39
- withoutSpotlight: O,
40
- searchWrapper: P
39
+ advanced: O,
40
+ subtitle: P,
41
+ withSpotlight: nn,
42
+ withoutSpotlight: on,
43
+ searchWrapper: en
41
44
  };
42
- function tn({
45
+ function ln({
43
46
  link: n,
44
47
  path: e,
45
- parentPath: a,
48
+ parentPath: i,
46
49
  openPath: d,
47
- togglePath: i,
48
- updateTriangleIndicator: p,
50
+ togglePath: a,
51
+ updateTriangleIndicator: m,
49
52
  setOpenPath: t,
50
- renderLinks: h,
51
- buttonRefs: m
53
+ renderLinks: p,
54
+ buttonRefs: h
52
55
  }) {
53
56
  var b;
54
57
  const r = d === e, _ = !!((b = n.sublinks) != null && b.length), c = v(null);
55
- return m.current.set(e, c.current), /* @__PURE__ */ l(
58
+ return h.current.set(e, c.current), /* @__PURE__ */ l(
56
59
  "div",
57
60
  {
58
- className: `${o.linkWrapper} ${a ? "" : o.parent}`,
61
+ className: `${o.linkWrapper} ${i ? "" : o.parent}`,
59
62
  children: [
60
63
  /* @__PURE__ */ s("div", { className: o.linkItem, children: n.href ? /* @__PURE__ */ l(
61
64
  "a",
@@ -69,12 +72,12 @@ function tn({
69
72
  t(null), (u = n.onClick) == null || u.call(n);
70
73
  },
71
74
  onMouseEnter: () => {
72
- a || t(null);
75
+ i || t(null);
73
76
  },
74
77
  role: "menuitem",
75
78
  children: [
76
79
  n.label,
77
- n.isExternal && /* @__PURE__ */ s(g, { className: o.newTabIcon, size: 16 })
80
+ n.isExternal && /* @__PURE__ */ s(k, { className: o.newTabIcon, size: 16 })
78
81
  ]
79
82
  }
80
83
  ) : /* @__PURE__ */ l(
@@ -84,13 +87,13 @@ function tn({
84
87
  "aria-haspopup": _ ? "true" : void 0,
85
88
  "aria-expanded": r,
86
89
  className: `${o.sublinkToggle} ${r ? o.open : ""}`,
87
- onClick: () => i(e),
90
+ onClick: () => a(e),
88
91
  onMouseEnter: () => {
89
- p(e), t(e);
92
+ m(e), t(e);
90
93
  },
91
94
  children: [
92
95
  n.label,
93
- _ && /* @__PURE__ */ s(k, { size: 18, className: o.chevron })
96
+ _ && /* @__PURE__ */ s(g, { size: 18, className: o.chevron })
94
97
  ]
95
98
  }
96
99
  ) }),
@@ -98,10 +101,10 @@ function tn({
98
101
  "div",
99
102
  {
100
103
  className: `${o.sublinks} ${r ? o.show : ""}`,
101
- onMouseLeave: () => i(e),
104
+ onMouseLeave: () => a(e),
102
105
  role: "menu",
103
106
  "aria-label": `${n.label} submenu`,
104
- children: /* @__PURE__ */ s("div", { children: /* @__PURE__ */ s("div", { className: o.sublinksInner, children: /* @__PURE__ */ s("div", { className: o.sublinksColumn, children: h(n.sublinks, e) }) }) })
107
+ children: /* @__PURE__ */ s("div", { children: /* @__PURE__ */ s("div", { className: o.sublinksInner, children: /* @__PURE__ */ s("div", { className: o.sublinksColumn, children: p(n.sublinks, e) }) }) })
105
108
  }
106
109
  )
107
110
  ]
@@ -110,6 +113,6 @@ function tn({
110
113
  );
111
114
  }
112
115
  export {
113
- tn as N,
116
+ ln as N,
114
117
  o as s
115
118
  };
@@ -0,0 +1 @@
1
+ "use strict";require('./assets/NavLink.css');const e=require("react/jsx-runtime"),v=require("react"),k=require("./external-link-DDShu-48.cjs"),m=require("./chevron-down-DfK1XBl3.cjs"),g="_navbar_1bon6_5",w="_sticky_1bon6_19",C="_left_1bon6_34",x="_container_1bon6_35",f="_logo_1bon6_39",I="_nav_1bon6_5",N="_center_1bon6_54",j="_hidden_1bon6_60",$="_visible_1bon6_67",y="_right_1bon6_82",T="_title_1bon6_89",S="_linkWrapper_1bon6_99",W="_parent_1bon6_99",E="_linkItem_1bon6_107",q="_link_1bon6_99",L="_sublinkToggle_1bon6_111",M="_standard_1bon6_159",R="_triangle_1bon6_167",z="_transparent_1bon6_172",D="_twoColumn_1bon6_276",A="_navInner_1bon6_398",B="_grid_1bon6_409",F="_separator_1bon6_444",G="_newTabIcon_1bon6_474",H="_linkContent_1bon6_489",J="_open_1bon6_500",K="_sublinks_1bon6_486",Q="_show_1bon6_571",U="_primaryColumn_1bon6_612",V="_sublinksInner_1bon6_629",X="_sublinksColumn_1bon6_647",Y="_chevron_1bon6_657",Z="_advanced_1bon6_839",O="_subtitle_1bon6_848",P="_withSpotlight_1bon6_890",nn="_withoutSpotlight_1bon6_894",on="_searchWrapper_1bon6_940",o={navbar:g,sticky:w,left:C,container:x,logo:f,nav:I,center:N,hidden:j,visible:$,right:y,title:T,linkWrapper:S,parent:W,linkItem:E,link:q,sublinkToggle:L,standard:M,triangle:R,transparent:z,twoColumn:D,navInner:A,grid:B,separator:F,newTabIcon:G,linkContent:H,open:J,sublinks:K,show:Q,primaryColumn:U,sublinksInner:V,sublinksColumn:X,chevron:Y,default:"_default_1bon6_773",advanced:Z,subtitle:O,withSpotlight:P,withoutSpotlight:nn,searchWrapper:on};function en({link:n,path:s,parentPath:i,openPath:u,togglePath:l,updateTriangleIndicator:d,setOpenPath:t,renderLinks:h,buttonRefs:p}){var c;const r=u===s,_=!!((c=n.sublinks)!=null&&c.length),a=v.useRef(null);return p.current.set(s,a.current),e.jsxs("div",{className:`${o.linkWrapper} ${i?"":o.parent}`,children:[e.jsx("div",{className:o.linkItem,children:n.href?e.jsxs("a",{href:n.href,className:o.link,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,onClick:()=>{var b;t(null),(b=n.onClick)==null||b.call(n)},onMouseEnter:()=>{i||t(null)},role:"menuitem",children:[n.label,n.isExternal&&e.jsx(k.ExternalLink,{className:o.newTabIcon,size:16})]}):e.jsxs("button",{ref:a,"aria-haspopup":_?"true":void 0,"aria-expanded":r,className:`${o.sublinkToggle} ${r?o.open:""}`,onClick:()=>l(s),onMouseEnter:()=>{d(s),t(s)},children:[n.label,_&&e.jsx(m.ChevronDown,{size:18,className:o.chevron})]})}),_&&e.jsx("div",{className:`${o.sublinks} ${r?o.show:""}`,onMouseLeave:()=>l(s),role:"menu","aria-label":`${n.label} submenu`,children:e.jsx("div",{children:e.jsx("div",{className:o.sublinksInner,children:e.jsx("div",{className:o.sublinksColumn,children:h(n.sublinks,s)})})})})]},s)}exports.NavLink=en;exports.styles=o;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");const e=require("../../../NavLink-CE4AZJOV.cjs");require("../../../external-link-DDShu-48.cjs");require("../../../chevron-down-DfK1XBl3.cjs");exports.NavLink=e.NavLink;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("react");const e=require("../../../NavLink-BSVUqHZT.cjs");require("../../../external-link-DDShu-48.cjs");require("../../../chevron-down-DfK1XBl3.cjs");exports.NavLink=e.NavLink;
@@ -1,6 +1,6 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
- import { N as a } from "../../../NavLink-BSHG9x5C.js";
3
+ import { N as a } from "../../../NavLink-B5joxE9Z.js";
4
4
  import "../../../external-link-BOPobeQJ.js";
5
5
  import "../../../chevron-down-DSUzBz9F.js";
6
6
  export {
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),l=require("react"),e=require("../../../NavLink-CE4AZJOV.cjs"),K=require("../../../chevron-down-DfK1XBl3.cjs"),Q={standard:e.styles.standard,transparent:e.styles.transparent},U={left:e.styles.left,center:e.styles.center,right:e.styles.right};function Y({title:B,logo:j,items:d,groups:o,utilityItems:$,isSticky:I=!1,showSearch:b=!0,showLocaleSelect:N=!0,alignment:f="right",variant:O="standard",navigationType:g="default",className:q}){const[k,P]=l.useState(0),[v,r]=l.useState(null),[u,_]=l.useState(!1),[y,D]=l.useState(!1),[L,G]=l.useState(!1),[T,X]=l.useState(null),[F,H]=l.useState(0),[V,R]=l.useState(null),m=l.useRef(null),c=l.useRef(null),p=l.useRef(new Map);console.log(F);const C=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent} ${e.styles.searchWrapper}`,children:s.jsx("div",{className:e.styles.linkItem})}),E=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent} `,children:s.jsx("div",{className:e.styles.linkItem})}),w=t=>{const n=p.current.get(t);if(n&&c.current){const i=n.getBoundingClientRect(),a=c.current.getBoundingClientRect(),x=i.left-a.left+i.width/2;X(x)}};console.log(w);const A=t=>{r(n=>n===t?null:t)},J=t=>t.map((n,i)=>{const a=`group-${i}`,h=V===i;return s.jsxs("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,onMouseEnter:()=>{R(i),r(a),w(a)},onMouseLeave:()=>{R(null),H(0),r(null)},children:[s.jsx("div",{className:e.styles.linkItem,children:s.jsxs("button",{ref:x=>{p.current.set(a,x)},role:"menuitem","aria-haspopup":"true","aria-expanded":h,"aria-controls":`submenu-${i}`,className:`${e.styles.sublinkToggle} ${h?e.styles.open:""} `,children:[n.title,s.jsx(K.ChevronDown,{size:18,className:e.styles.chevron})]})}),s.jsx("div",{id:`submenu-${i}`,className:`${e.styles.sublinks} ${h?e.styles.show:""}`,role:"menu","aria-label":`${n.title} submenu`,children:s.jsx("div",{children:s.jsx("div",{className:`${e.styles.sublinksInner} ${n.spotlight?e.styles.withSpotlight:e.styles.withoutSpotlight}`})})})]},n._key??`group-${i}`)}),M=(t,n="")=>t.map(i=>{const a=`${n}/${i.label}`;return s.jsx(e.NavLink,{link:i,path:a,parentPath:n,openPath:v,togglePath:A,updateTriangleIndicator:w,setOpenPath:r,renderLinks:M,buttonRefs:p},i._key??a)}),S=l.useCallback(t=>{m.current&&!m.current.contains(t.target)&&r(null)},[]),W=l.useCallback(()=>{z(),typeof window<"u"&&window.innerWidth>768&&(_(!1),r(null),typeof document<"u"&&(document.body.style.overflow=""))},[]),z=l.useCallback(()=>{if(c.current){const t=c.current.getBoundingClientRect().width;P(t),G(!0)}},[]);return l.useEffect(()=>{const t=typeof window<"u",n=typeof document<"u";return t&&window.addEventListener("resize",W),n&&document.addEventListener("click",S),z(),()=>{t&&window.removeEventListener("resize",W),n&&document.removeEventListener("click",S)}},[]),l.useEffect(()=>{if(typeof window<"u"){const t=()=>{const n=window.innerWidth<768;D(n)};return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}},[]),l.useEffect(()=>{if(typeof document<"u")return document.body.style.overflow=u?"hidden":"",()=>{document.body.style.overflow=""}},[u]),s.jsx("header",{ref:m,className:`${q??""} ${U[f]} ${Q[O]} ${e.styles.navbar} ${I?e.styles.sticky:""} ${o&&o.length?e.styles.advanced:e.styles.default}`,role:"navigation","aria-label":"Main navigation",children:s.jsxs("div",{className:`${e.styles.container} ${(!$||$.length===0)&&f!=="center"?e.styles.twoColumn:""}`,children:[j?s.jsx("div",{className:e.styles.logo,children:j}):s.jsx("div",{className:e.styles.title,children:B}),s.jsx("nav",{ref:c,style:{left:f==="center"?`calc(50% - ${k/2}px)`:"0"},className:`${e.styles.nav} ${u?e.styles.open:""} ${L?e.styles.visible:e.styles.hidden}`,id:"main-menu",role:"menubar","aria-label":"Main navigation",children:s.jsxs("div",{className:e.styles.navInner,children:[s.jsx("svg",{style:{left:`${T}px`},className:`${e.styles.triangle} ${v?e.styles.show:""}`,width:16,height:12,viewBox:"0 0 100 75",xmlns:"http://www.w3.org/2000/svg",children:s.jsx("polygon",{points:"50,5 95,70 5,70",strokeLinejoin:"round",fill:"white",stroke:"white"})}),g==="default"&&d&&s.jsxs("div",{className:e.styles.grid,children:[d&&d.length>0&&M(d),b&&!y&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator}),s.jsx(C,{})]}),N&&s.jsx(E,{})]}),!y&&g==="advanced"&&o&&s.jsxs("div",{className:e.styles.grid,children:[o.length>0&&J(o),b&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator}),s.jsx(C,{})]}),N&&s.jsx(E,{})]}),s.jsx("p",{children:"HELLO"}),s.jsxs("p",{children:["vis: ",L]}),s.jsxs("p",{children:["open: ",u]}),s.jsxs("p",{children:["path: ",v]}),s.jsxs("p",{children:["nav: ",k]}),s.jsxs("p",{children:["mobile: ",y]})]})})]})})}exports.Navbar=Y;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),a=require("react"),e=require("../../../NavLink-BSVUqHZT.cjs"),Y=require("../../../chevron-down-DfK1XBl3.cjs"),Z=require("../../../external-link-DDShu-48.cjs"),ee={standard:e.styles.standard,transparent:e.styles.transparent},se={left:e.styles.left,center:e.styles.center,right:e.styles.right};function ne({title:P,logo:N,items:h,groups:d,utilityItems:k,isSticky:T=!1,showSearch:g=!0,showLocaleSelect:C=!0,alignment:p="right",variant:D="standard",navigationType:E="default",className:G}){const[L,X]=a.useState(0),[x,c]=a.useState(null),[y,F]=a.useState(!1),[m,H]=a.useState(!1),[R,V]=a.useState(!1),[A,J]=a.useState(null),[M,b]=a.useState(0),[K,S]=a.useState(null),j=a.useRef(null),u=a.useRef(null),$=a.useRef(new Map),I=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent} ${e.styles.searchWrapper}`,children:s.jsx("div",{className:e.styles.linkItem})}),W=()=>s.jsx("div",{className:`${e.styles.linkWrapper} ${e.styles.parent} `,children:s.jsx("div",{className:e.styles.linkItem})}),w=n=>{const l=$.current.get(n);if(l&&u.current){const r=l.getBoundingClientRect(),i=u.current.getBoundingClientRect(),v=r.left-i.left+r.width/2;J(v)}};console.log(w);const Q=n=>{c(l=>l===n?null:n)},U=n=>n.map((l,r)=>{var v;const i=`group-${r}`,f=K===r;return s.jsxs("div",{className:`${e.styles.linkWrapper} ${e.styles.parent}`,onMouseEnter:()=>{S(r),c(i),w(i)},onMouseLeave:()=>{S(null),b(0),c(null)},children:[s.jsx("div",{className:e.styles.linkItem,children:s.jsxs("button",{ref:t=>{$.current.set(i,t)},role:"menuitem","aria-haspopup":"true","aria-expanded":f,"aria-controls":`submenu-${r}`,className:`${e.styles.sublinkToggle} ${f?e.styles.open:""} `,children:[l.title,s.jsx(Y.ChevronDown,{size:18,className:e.styles.chevron})]})}),s.jsx("div",{id:`submenu-${r}`,className:`${e.styles.sublinks} ${f?e.styles.show:""}`,role:"menu","aria-label":`${l.title} submenu`,children:s.jsx("div",{children:s.jsx("div",{className:`${e.styles.sublinksInner} ${l.spotlight?e.styles.withSpotlight:e.styles.withoutSpotlight}`,children:s.jsxs("div",{className:`${e.styles.sublinksColumn} ${e.styles.primaryColumn}`,children:[s.jsx("div",{className:e.styles.linkItem}),(v=l.primaryItems)==null?void 0:v.map((t,o)=>t.href?s.jsxs("a",{href:t.href,className:`${e.styles.link} ${M===o?e.styles.open:""}`,target:t.isExternal?"_blank":"_self",rel:t.isExternal?"noopener noreferrer":void 0,onClick:()=>{var q;c(null),(q=t.onClick)==null||q.call(t)},onMouseEnter:()=>t.sublinks?b(o):null,role:"menuitem",children:[s.jsxs("span",{className:e.styles.linkContent,children:[t.label,t.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:t.subtitle})]}),t.isExternal&&s.jsx(Z.ExternalLink,{className:e.styles.newTabIcon,size:16})]},t._key??o):s.jsx("button",{className:`${e.styles.sublinkToggle} ${M===o?e.styles.open:""}`,onMouseEnter:()=>b(o),children:s.jsxs("span",{className:e.styles.linkContent,children:[t.label,t.subtitle&&s.jsx("span",{className:e.styles.subtitle,children:t.subtitle})]})},t._key??o))]})})})})]},l._key??`group-${r}`)}),_=(n,l="")=>n.map(r=>{const i=`${l}/${r.label}`;return s.jsx(e.NavLink,{link:r,path:i,parentPath:l,openPath:x,togglePath:Q,updateTriangleIndicator:w,setOpenPath:c,renderLinks:_,buttonRefs:$},r._key??i)}),z=a.useCallback(n=>{j.current&&!j.current.contains(n.target)&&c(null)},[]),B=a.useCallback(()=>{O(),typeof window<"u"&&window.innerWidth>768&&(F(!1),c(null),typeof document<"u"&&(document.body.style.overflow=""))},[]),O=a.useCallback(()=>{if(u.current){const n=u.current.getBoundingClientRect().width;X(n),V(!0)}},[]);return a.useEffect(()=>{const n=typeof window<"u",l=typeof document<"u";return n&&window.addEventListener("resize",B),l&&document.addEventListener("click",z),O(),()=>{n&&window.removeEventListener("resize",B),l&&document.removeEventListener("click",z)}},[]),a.useEffect(()=>{if(typeof window<"u"){const n=()=>{const l=window.innerWidth<768;H(l)};return n(),window.addEventListener("resize",n),()=>window.removeEventListener("resize",n)}},[]),a.useEffect(()=>{if(typeof document<"u")return document.body.style.overflow=y?"hidden":"",()=>{document.body.style.overflow=""}},[y]),s.jsx("header",{ref:j,className:`${G??""} ${se[p]} ${ee[D]} ${e.styles.navbar} ${T?e.styles.sticky:""} ${d&&d.length?e.styles.advanced:e.styles.default}`,role:"navigation","aria-label":"Main navigation",children:s.jsxs("div",{className:`${e.styles.container} ${(!k||k.length===0)&&p!=="center"?e.styles.twoColumn:""}`,children:[N?s.jsx("div",{className:e.styles.logo,children:N}):s.jsx("div",{className:e.styles.title,children:P}),s.jsx("nav",{ref:u,style:{left:p==="center"?`calc(50% - ${L/2}px)`:"0"},className:`${e.styles.nav} ${y?e.styles.open:""} ${R?e.styles.visible:e.styles.hidden}`,id:"main-menu",role:"menubar","aria-label":"Main navigation",children:s.jsxs("div",{className:e.styles.navInner,children:[s.jsx("svg",{style:{left:`${A}px`},className:`${e.styles.triangle} ${x?e.styles.show:""}`,width:16,height:12,viewBox:"0 0 100 75",xmlns:"http://www.w3.org/2000/svg",children:s.jsx("polygon",{points:"50,5 95,70 5,70",strokeLinejoin:"round",fill:"white",stroke:"white"})}),E==="default"&&h&&s.jsxs("div",{className:e.styles.grid,children:[h&&h.length>0&&_(h),g&&!m&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator}),s.jsx(I,{})]}),C&&s.jsx(W,{})]}),!m&&E==="advanced"&&d&&s.jsxs("div",{className:e.styles.grid,children:[d.length>0&&U(d),g&&s.jsxs(s.Fragment,{children:[s.jsx("span",{className:e.styles.separator}),s.jsx(I,{})]}),C&&s.jsx(W,{})]}),s.jsx("p",{children:"HELLO"}),s.jsxs("p",{children:["vis: ",R]}),s.jsxs("p",{children:["open: ",y]}),s.jsxs("p",{children:["path: ",x]}),s.jsxs("p",{children:["nav: ",L]}),s.jsxs("p",{children:["mobile: ",m]})]})})]})})}exports.Navbar=ne;
@@ -1,8 +1,9 @@
1
- import { jsx as n, jsxs as a, Fragment as X } from "react/jsx-runtime";
2
- import { useState as l, useRef as g, useCallback as y, useEffect as k } from "react";
3
- import { s as e, N as ee } from "../../../NavLink-BSHG9x5C.js";
4
- import { C as ne } from "../../../chevron-down-DSUzBz9F.js";
5
- const te = {
1
+ import { jsx as n, jsxs as l, Fragment as S } from "react/jsx-runtime";
2
+ import { useState as o, useRef as C, useCallback as E, useEffect as L } from "react";
3
+ import { s as e, N as se } from "../../../NavLink-B5joxE9Z.js";
4
+ import { C as ae } from "../../../chevron-down-DSUzBz9F.js";
5
+ import { E as le } from "../../../external-link-BOPobeQJ.js";
6
+ const re = {
6
7
  standard: e.standard,
7
8
  transparent: e.transparent
8
9
  }, ie = {
@@ -10,166 +11,216 @@ const te = {
10
11
  center: e.center,
11
12
  right: e.right
12
13
  };
13
- function oe({
14
- title: D,
15
- logo: L,
16
- items: u,
17
- groups: c,
18
- utilityItems: R,
19
- isSticky: H = !1,
20
- showSearch: C = !0,
21
- showLocaleSelect: M = !0,
22
- alignment: v = "right",
23
- variant: S = "standard",
14
+ function fe({
15
+ title: V,
16
+ logo: M,
17
+ items: f,
18
+ groups: u,
19
+ utilityItems: x,
20
+ isSticky: A = !1,
21
+ showSearch: R = !0,
22
+ showLocaleSelect: I = !0,
23
+ alignment: b = "right",
24
+ variant: F = "standard",
24
25
  navigationType: W = "default",
25
26
  // searchComponent,
26
27
  // localeSelectComponent,
27
- className: T
28
+ className: q
28
29
  }) {
29
- const [E, V] = l(0), [m, o] = l(null), [h, _] = l(!1), [p, A] = l(!1), [x, F] = l(!1), [q, J] = l(null), [K, Q] = l(
30
+ const [z, J] = o(0), [$, c] = o(null), [p, K] = o(!1), [w, Q] = o(!1), [B, U] = o(!1), [Y, Z] = o(null), [O, N] = o(
30
31
  0
31
- ), [U, z] = l(null), w = g(null), d = g(null), $ = g(/* @__PURE__ */ new Map());
32
- console.log(K);
33
- const I = () => /* @__PURE__ */ n(
32
+ ), [ee, _] = o(null), k = C(null), h = C(null), g = C(/* @__PURE__ */ new Map()), P = () => /* @__PURE__ */ n(
34
33
  "div",
35
34
  {
36
35
  className: `${e.linkWrapper} ${e.parent} ${e.searchWrapper}`,
37
36
  children: /* @__PURE__ */ n("div", { className: e.linkItem })
38
37
  }
39
- ), B = () => /* @__PURE__ */ n("div", { className: `${e.linkWrapper} ${e.parent} `, children: /* @__PURE__ */ n("div", { className: e.linkItem }) }), N = (t) => {
40
- const i = $.current.get(t);
41
- if (i && d.current) {
42
- const s = i.getBoundingClientRect(), r = d.current.getBoundingClientRect(), b = s.left - r.left + s.width / 2;
43
- J(b);
38
+ ), T = () => /* @__PURE__ */ n("div", { className: `${e.linkWrapper} ${e.parent} `, children: /* @__PURE__ */ n("div", { className: e.linkItem }) }), y = (t) => {
39
+ const a = g.current.get(t);
40
+ if (a && h.current) {
41
+ const r = a.getBoundingClientRect(), i = h.current.getBoundingClientRect(), m = r.left - i.left + r.width / 2;
42
+ Z(m);
44
43
  }
45
44
  };
46
- console.log(N);
47
- const Y = (t) => {
48
- o((i) => i === t ? null : t);
49
- }, Z = (t) => t.map((i, s) => {
50
- const r = `group-${s}`, f = U === s;
51
- return /* @__PURE__ */ a(
45
+ console.log(y);
46
+ const ne = (t) => {
47
+ c((a) => a === t ? null : t);
48
+ }, te = (t) => t.map((a, r) => {
49
+ var m;
50
+ const i = `group-${r}`, v = ee === r;
51
+ return /* @__PURE__ */ l(
52
52
  "div",
53
53
  {
54
54
  className: `${e.linkWrapper} ${e.parent}`,
55
55
  onMouseEnter: () => {
56
- z(s), o(r), N(r);
56
+ _(r), c(i), y(i);
57
57
  },
58
58
  onMouseLeave: () => {
59
- z(null), Q(0), o(null);
59
+ _(null), N(0), c(null);
60
60
  },
61
61
  children: [
62
- /* @__PURE__ */ n("div", { className: e.linkItem, children: /* @__PURE__ */ a(
62
+ /* @__PURE__ */ n("div", { className: e.linkItem, children: /* @__PURE__ */ l(
63
63
  "button",
64
64
  {
65
- ref: (b) => {
66
- $.current.set(r, b);
65
+ ref: (s) => {
66
+ g.current.set(i, s);
67
67
  },
68
68
  role: "menuitem",
69
69
  "aria-haspopup": "true",
70
- "aria-expanded": f,
71
- "aria-controls": `submenu-${s}`,
72
- className: `${e.sublinkToggle} ${f ? e.open : ""} `,
70
+ "aria-expanded": v,
71
+ "aria-controls": `submenu-${r}`,
72
+ className: `${e.sublinkToggle} ${v ? e.open : ""} `,
73
73
  children: [
74
- i.title,
75
- /* @__PURE__ */ n(ne, { size: 18, className: e.chevron })
74
+ a.title,
75
+ /* @__PURE__ */ n(ae, { size: 18, className: e.chevron })
76
76
  ]
77
77
  }
78
78
  ) }),
79
79
  /* @__PURE__ */ n(
80
80
  "div",
81
81
  {
82
- id: `submenu-${s}`,
83
- className: `${e.sublinks} ${f ? e.show : ""}`,
82
+ id: `submenu-${r}`,
83
+ className: `${e.sublinks} ${v ? e.show : ""}`,
84
84
  role: "menu",
85
- "aria-label": `${i.title} submenu`,
85
+ "aria-label": `${a.title} submenu`,
86
86
  children: /* @__PURE__ */ n("div", { children: /* @__PURE__ */ n(
87
87
  "div",
88
88
  {
89
- className: `${e.sublinksInner} ${i.spotlight ? e.withSpotlight : e.withoutSpotlight}`
89
+ className: `${e.sublinksInner} ${a.spotlight ? e.withSpotlight : e.withoutSpotlight}`,
90
+ children: /* @__PURE__ */ l(
91
+ "div",
92
+ {
93
+ className: `${e.sublinksColumn} ${e.primaryColumn}`,
94
+ children: [
95
+ /* @__PURE__ */ n("div", { className: e.linkItem }),
96
+ (m = a.primaryItems) == null ? void 0 : m.map(
97
+ (s, d) => s.href ? /* @__PURE__ */ l(
98
+ "a",
99
+ {
100
+ href: s.href,
101
+ className: `${e.link} ${O === d ? e.open : ""}`,
102
+ target: s.isExternal ? "_blank" : "_self",
103
+ rel: s.isExternal ? "noopener noreferrer" : void 0,
104
+ onClick: () => {
105
+ var H;
106
+ c(null), (H = s.onClick) == null || H.call(s);
107
+ },
108
+ onMouseEnter: () => s.sublinks ? N(d) : null,
109
+ role: "menuitem",
110
+ children: [
111
+ /* @__PURE__ */ l("span", { className: e.linkContent, children: [
112
+ s.label,
113
+ s.subtitle && /* @__PURE__ */ n("span", { className: e.subtitle, children: s.subtitle })
114
+ ] }),
115
+ s.isExternal && /* @__PURE__ */ n(
116
+ le,
117
+ {
118
+ className: e.newTabIcon,
119
+ size: 16
120
+ }
121
+ )
122
+ ]
123
+ },
124
+ s._key ?? d
125
+ ) : /* @__PURE__ */ n(
126
+ "button",
127
+ {
128
+ className: `${e.sublinkToggle} ${O === d ? e.open : ""}`,
129
+ onMouseEnter: () => N(d),
130
+ children: /* @__PURE__ */ l("span", { className: e.linkContent, children: [
131
+ s.label,
132
+ s.subtitle && /* @__PURE__ */ n("span", { className: e.subtitle, children: s.subtitle })
133
+ ] })
134
+ },
135
+ s._key ?? d
136
+ )
137
+ )
138
+ ]
139
+ }
140
+ )
90
141
  }
91
142
  ) })
92
143
  }
93
144
  )
94
145
  ]
95
146
  },
96
- i._key ?? `group-${s}`
147
+ a._key ?? `group-${r}`
97
148
  );
98
- }), O = (t, i = "") => t.map((s) => {
99
- const r = `${i}/${s.label}`;
149
+ }), j = (t, a = "") => t.map((r) => {
150
+ const i = `${a}/${r.label}`;
100
151
  return /* @__PURE__ */ n(
101
- ee,
152
+ se,
102
153
  {
103
- link: s,
104
- path: r,
105
- parentPath: i,
106
- openPath: m,
107
- togglePath: Y,
108
- updateTriangleIndicator: N,
109
- setOpenPath: o,
110
- renderLinks: O,
111
- buttonRefs: $
154
+ link: r,
155
+ path: i,
156
+ parentPath: a,
157
+ openPath: $,
158
+ togglePath: ne,
159
+ updateTriangleIndicator: y,
160
+ setOpenPath: c,
161
+ renderLinks: j,
162
+ buttonRefs: g
112
163
  },
113
- s._key ?? r
164
+ r._key ?? i
114
165
  );
115
- }), P = y((t) => {
116
- w.current && !w.current.contains(t.target) && o(null);
117
- }, []), j = y(() => {
118
- G(), typeof window < "u" && window.innerWidth > 768 && (_(!1), o(null), typeof document < "u" && (document.body.style.overflow = ""));
119
- }, []), G = y(() => {
120
- if (d.current) {
121
- const t = d.current.getBoundingClientRect().width;
122
- V(t), F(!0);
166
+ }), G = E((t) => {
167
+ k.current && !k.current.contains(t.target) && c(null);
168
+ }, []), X = E(() => {
169
+ D(), typeof window < "u" && window.innerWidth > 768 && (K(!1), c(null), typeof document < "u" && (document.body.style.overflow = ""));
170
+ }, []), D = E(() => {
171
+ if (h.current) {
172
+ const t = h.current.getBoundingClientRect().width;
173
+ J(t), U(!0);
123
174
  }
124
175
  }, []);
125
- return k(() => {
126
- const t = typeof window < "u", i = typeof document < "u";
127
- return t && window.addEventListener("resize", j), i && document.addEventListener("click", P), G(), () => {
128
- t && window.removeEventListener("resize", j), i && document.removeEventListener("click", P);
176
+ return L(() => {
177
+ const t = typeof window < "u", a = typeof document < "u";
178
+ return t && window.addEventListener("resize", X), a && document.addEventListener("click", G), D(), () => {
179
+ t && window.removeEventListener("resize", X), a && document.removeEventListener("click", G);
129
180
  };
130
- }, []), k(() => {
181
+ }, []), L(() => {
131
182
  if (typeof window < "u") {
132
183
  const t = () => {
133
- const i = window.innerWidth < 768;
134
- A(i);
184
+ const a = window.innerWidth < 768;
185
+ Q(a);
135
186
  };
136
187
  return t(), window.addEventListener("resize", t), () => window.removeEventListener("resize", t);
137
188
  }
138
- }, []), k(() => {
189
+ }, []), L(() => {
139
190
  if (typeof document < "u")
140
- return document.body.style.overflow = h ? "hidden" : "", () => {
191
+ return document.body.style.overflow = p ? "hidden" : "", () => {
141
192
  document.body.style.overflow = "";
142
193
  };
143
- }, [h]), /* @__PURE__ */ n(
194
+ }, [p]), /* @__PURE__ */ n(
144
195
  "header",
145
196
  {
146
- ref: w,
147
- className: `${T ?? ""} ${ie[v]} ${te[S]} ${e.navbar} ${H ? e.sticky : ""} ${c && c.length ? e.advanced : e.default}`,
197
+ ref: k,
198
+ className: `${q ?? ""} ${ie[b]} ${re[F]} ${e.navbar} ${A ? e.sticky : ""} ${u && u.length ? e.advanced : e.default}`,
148
199
  role: "navigation",
149
200
  "aria-label": "Main navigation",
150
- children: /* @__PURE__ */ a(
201
+ children: /* @__PURE__ */ l(
151
202
  "div",
152
203
  {
153
- className: `${e.container} ${(!R || R.length === 0) && v !== "center" ? e.twoColumn : ""}`,
204
+ className: `${e.container} ${(!x || x.length === 0) && b !== "center" ? e.twoColumn : ""}`,
154
205
  children: [
155
- L ? /* @__PURE__ */ n("div", { className: e.logo, children: L }) : /* @__PURE__ */ n("div", { className: e.title, children: D }),
206
+ M ? /* @__PURE__ */ n("div", { className: e.logo, children: M }) : /* @__PURE__ */ n("div", { className: e.title, children: V }),
156
207
  /* @__PURE__ */ n(
157
208
  "nav",
158
209
  {
159
- ref: d,
210
+ ref: h,
160
211
  style: {
161
- left: v === "center" ? `calc(50% - ${E / 2}px)` : "0"
212
+ left: b === "center" ? `calc(50% - ${z / 2}px)` : "0"
162
213
  },
163
- className: `${e.nav} ${h ? e.open : ""} ${x ? e.visible : e.hidden}`,
214
+ className: `${e.nav} ${p ? e.open : ""} ${B ? e.visible : e.hidden}`,
164
215
  id: "main-menu",
165
216
  role: "menubar",
166
217
  "aria-label": "Main navigation",
167
- children: /* @__PURE__ */ a("div", { className: e.navInner, children: [
218
+ children: /* @__PURE__ */ l("div", { className: e.navInner, children: [
168
219
  /* @__PURE__ */ n(
169
220
  "svg",
170
221
  {
171
- style: { left: `${q}px` },
172
- className: `${e.triangle} ${m ? e.show : ""}`,
222
+ style: { left: `${Y}px` },
223
+ className: `${e.triangle} ${$ ? e.show : ""}`,
173
224
  width: 16,
174
225
  height: 12,
175
226
  viewBox: "0 0 100 75",
@@ -185,42 +236,42 @@ function oe({
185
236
  )
186
237
  }
187
238
  ),
188
- W === "default" && u && /* @__PURE__ */ a("div", { className: e.grid, children: [
189
- u && u.length > 0 && O(u),
190
- C && !p && /* @__PURE__ */ a(X, { children: [
239
+ W === "default" && f && /* @__PURE__ */ l("div", { className: e.grid, children: [
240
+ f && f.length > 0 && j(f),
241
+ R && !w && /* @__PURE__ */ l(S, { children: [
191
242
  /* @__PURE__ */ n("span", { className: e.separator }),
192
- /* @__PURE__ */ n(I, {})
243
+ /* @__PURE__ */ n(P, {})
193
244
  ] }),
194
- M && /* @__PURE__ */ n(B, {})
245
+ I && /* @__PURE__ */ n(T, {})
195
246
  ] }),
196
- !p && W === "advanced" && c && /* @__PURE__ */ a("div", { className: e.grid, children: [
197
- c.length > 0 && Z(c),
198
- C && /* @__PURE__ */ a(X, { children: [
247
+ !w && W === "advanced" && u && /* @__PURE__ */ l("div", { className: e.grid, children: [
248
+ u.length > 0 && te(u),
249
+ R && /* @__PURE__ */ l(S, { children: [
199
250
  /* @__PURE__ */ n("span", { className: e.separator }),
200
- /* @__PURE__ */ n(I, {})
251
+ /* @__PURE__ */ n(P, {})
201
252
  ] }),
202
- M && /* @__PURE__ */ n(B, {})
253
+ I && /* @__PURE__ */ n(T, {})
203
254
  ] }),
204
255
  /* @__PURE__ */ n("p", { children: "HELLO" }),
205
- /* @__PURE__ */ a("p", { children: [
256
+ /* @__PURE__ */ l("p", { children: [
206
257
  "vis: ",
207
- x
258
+ B
208
259
  ] }),
209
- /* @__PURE__ */ a("p", { children: [
260
+ /* @__PURE__ */ l("p", { children: [
210
261
  "open: ",
211
- h
262
+ p
212
263
  ] }),
213
- /* @__PURE__ */ a("p", { children: [
264
+ /* @__PURE__ */ l("p", { children: [
214
265
  "path: ",
215
- m
266
+ $
216
267
  ] }),
217
- /* @__PURE__ */ a("p", { children: [
268
+ /* @__PURE__ */ l("p", { children: [
218
269
  "nav: ",
219
- E
270
+ z
220
271
  ] }),
221
- /* @__PURE__ */ a("p", { children: [
272
+ /* @__PURE__ */ l("p", { children: [
222
273
  "mobile: ",
223
- p
274
+ w
224
275
  ] })
225
276
  ] })
226
277
  }
@@ -232,5 +283,5 @@ function oe({
232
283
  );
233
284
  }
234
285
  export {
235
- oe as Navbar
286
+ fe as Navbar
236
287
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quirk-ui",
3
3
  "private": false,
4
- "version": "0.0.410",
4
+ "version": "0.0.411",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -1 +0,0 @@
1
- "use strict";require('./assets/NavLink.css');const o=require("react/jsx-runtime"),p=require("react"),k=require("./external-link-DDShu-48.cjs"),g=require("./chevron-down-DfK1XBl3.cjs"),m="_navbar_1bon6_5",w="_sticky_1bon6_19",x="_left_1bon6_34",f="_container_1bon6_35",I="_logo_1bon6_39",C="_nav_1bon6_5",N="_center_1bon6_54",j="_hidden_1bon6_60",$="_visible_1bon6_67",T="_right_1bon6_82",S="_title_1bon6_89",W="_linkWrapper_1bon6_99",E="_parent_1bon6_99",q="_linkItem_1bon6_107",y="_link_1bon6_99",L="_sublinkToggle_1bon6_111",M="_standard_1bon6_159",R="_triangle_1bon6_167",z="_transparent_1bon6_172",D="_twoColumn_1bon6_276",A="_navInner_1bon6_398",B="_grid_1bon6_409",F="_separator_1bon6_444",G="_newTabIcon_1bon6_474",H="_open_1bon6_500",J="_sublinks_1bon6_486",K="_show_1bon6_571",Q="_sublinksInner_1bon6_629",U="_sublinksColumn_1bon6_647",V="_chevron_1bon6_657",X="_advanced_1bon6_839",Y="_withSpotlight_1bon6_890",Z="_withoutSpotlight_1bon6_894",O="_searchWrapper_1bon6_940",e={navbar:m,sticky:w,left:x,container:f,logo:I,nav:C,center:N,hidden:j,visible:$,right:T,title:S,linkWrapper:W,parent:E,linkItem:q,link:y,sublinkToggle:L,standard:M,triangle:R,transparent:z,twoColumn:D,navInner:A,grid:B,separator:F,newTabIcon:G,open:H,sublinks:J,show:K,sublinksInner:Q,sublinksColumn:U,chevron:V,default:"_default_1bon6_773",advanced:X,withSpotlight:Y,withoutSpotlight:Z,searchWrapper:O};function P({link:n,path:s,parentPath:i,openPath:u,togglePath:l,updateTriangleIndicator:d,setOpenPath:t,renderLinks:h,buttonRefs:v}){var c;const r=u===s,_=!!((c=n.sublinks)!=null&&c.length),a=p.useRef(null);return v.current.set(s,a.current),o.jsxs("div",{className:`${e.linkWrapper} ${i?"":e.parent}`,children:[o.jsx("div",{className:e.linkItem,children:n.href?o.jsxs("a",{href:n.href,className:e.link,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,onClick:()=>{var b;t(null),(b=n.onClick)==null||b.call(n)},onMouseEnter:()=>{i||t(null)},role:"menuitem",children:[n.label,n.isExternal&&o.jsx(k.ExternalLink,{className:e.newTabIcon,size:16})]}):o.jsxs("button",{ref:a,"aria-haspopup":_?"true":void 0,"aria-expanded":r,className:`${e.sublinkToggle} ${r?e.open:""}`,onClick:()=>l(s),onMouseEnter:()=>{d(s),t(s)},children:[n.label,_&&o.jsx(g.ChevronDown,{size:18,className:e.chevron})]})}),_&&o.jsx("div",{className:`${e.sublinks} ${r?e.show:""}`,onMouseLeave:()=>l(s),role:"menu","aria-label":`${n.label} submenu`,children:o.jsx("div",{children:o.jsx("div",{className:e.sublinksInner,children:o.jsx("div",{className:e.sublinksColumn,children:h(n.sublinks,s)})})})})]},s)}exports.NavLink=P;exports.styles=e;