monochrome 0.10.0 → 0.11.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/README.md +1 -1
- package/dist/index.js +1 -1
- package/dist/react/index.d.ts +1 -0
- package/dist/react/index.js +1 -1
- package/dist/react/menu.d.ts +3 -3
- package/dist/react/menubar.d.ts +29 -0
- package/dist/vue/index.d.ts +1 -0
- package/dist/vue/index.js +1 -1
- package/dist/vue/menu.d.ts +2 -8
- package/dist/vue/menubar.d.ts +70 -0
- package/dist/vue/shared.d.ts +7 -4
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -11,7 +11,7 @@ If you write accessible HTML, monochrome makes it interactive. The DOM is the st
|
|
|
11
11
|
|
|
12
12
|
## Components
|
|
13
13
|
|
|
14
|
-
Accordion · Collapsible · Dialog · Menu · Popover · Tabs · Tooltip.
|
|
14
|
+
Accordion · Collapsible · Dialog · Menu · Menubar · Popover · Tabs · Tooltip.
|
|
15
15
|
|
|
16
16
|
Plus an optional client-side router and thin React and Vue wrappers.
|
|
17
17
|
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
if(typeof document<"u"){let
|
|
1
|
+
if(typeof document<"u"){let x=null,A=null,R=null,$=null,D=[],r=[],m=null,s=null,L=null,W=null,h=null,o=null,y=null,F=null,v=null,p=null,c=null,C=null,f=(e)=>e instanceof HTMLElement,E=(e,t)=>e instanceof HTMLButtonElement&&(!t||e.id.startsWith(t)),j=(e)=>e instanceof HTMLDialogElement,S=(e)=>f(e)&&e.role?.startsWith("menuitem")===!0&&e.ariaDisabled!=="true",g=(e,t)=>{let n=e.getAttribute(t);return n?document.getElementById(n):null},H=(e,t)=>{while(e){if(e.id.startsWith(t))return e;e=e.parentElement}return null},O=(e,t)=>{let n=e.getBoundingClientRect();return t.style.setProperty("--top",`${n.top}px`),t.style.setProperty("--right",`${n.right}px`),t.style.setProperty("--bottom",`${n.bottom}px`),t.style.setProperty("--left",`${n.left}px`),t.style.setProperty("--pw",`${t.offsetWidth}px`),t.style.setProperty("--ph",`${t.offsetHeight}px`),n},B=(e)=>{let t=(i)=>i?e(i.nextElementSibling||i.parentElement?.firstElementChild,t):null,n=(i)=>i?e(i.previousElementSibling||i.parentElement?.lastElementChild,n):null;return[t,n]},P=(e,t)=>{if(f(e)){let n=e.firstElementChild;if(R){if(f(n)){if(n===R){for(let i of D)i.ariaChecked="false";return n}if(n.role==="menuitemradio"){if(!$)n.ariaChecked="false";else D.push(n);return t(e)}}return $=!0,D=[],t(e)}if(S(n)&&(!A||n.textContent?.toLowerCase().startsWith(A)))return n.focus(),x=!0,n;else if(m!==e){if(!m)m=e;return t(e)}else m=null}return null},I=(e,t)=>{if(f(e)){if(m===e)return null;if(!m)m=e;let n=e.firstElementChild?.firstElementChild;if(E(n,"mct:a")){if(n.ariaDisabled==="true")return t(e);return x=!0,n.focus(),n}}return t(e)},U=(e,t)=>{if(E(e,"mct:ta")){if(m===e)return null;if(!m)m=e;if(e.ariaDisabled==="true")return t(e);return x=!0,e.focus(),e}else return t(e)},[k,w]=B(P),[z,G]=B(I),[X,Y]=B(U),N=(e)=>{let t=g(e,"aria-controls");if(t){let n=e.ariaExpanded!=="true";e.ariaExpanded=n?"true":"false",t.ariaHidden=n?"false":"true",n?t.removeAttribute("hidden"):t.setAttribute("hidden","")}},q=(e)=>{if(e.ariaDisabled==="true")return;if(e.ariaExpanded==="true")N(e);else{let t=H(e,"mcr:a");if(!t||t.getAttribute("data-mode")!=="single")N(e);else{let n=t.firstElementChild;while(n){let i=n.firstElementChild?.firstElementChild;if(f(i)&&(i===e||i.ariaExpanded==="true"))N(i);n=n.nextElementSibling}}}},J=(e)=>{if(e.ariaDisabled!=="true"&&e.ariaSelected!=="true"){let t=e.parentElement?.firstElementChild;while(f(t)){if(t===e||t.ariaSelected==="true"){let n=g(t,"aria-controls");if(n){let i=t.ariaSelected!=="true";if(t.ariaSelected=i?"true":"false",t.tabIndex=i?0:-1,n.ariaHidden=i?"false":"true",n.hasAttribute("tabindex"))n.tabIndex=i?0:-1;i?n.removeAttribute("hidden"):n.setAttribute("hidden","")}}t=t.nextElementSibling}}},d=(e,t=0)=>{if(e?.id.startsWith("mct:m")){let n=g(e,"aria-controls");if(n)if(e.ariaExpanded==="true"){if(s)s.removeAttribute("data-safe");if(s=null,W=null,h=null,t!==3)e.focus();n.hidePopover(),e.ariaExpanded="false",n.ariaHidden="true"}else{r.push(e),n.showPopover(),e.ariaExpanded="true",n.ariaHidden="false";let i=O(e,n),a=e.parentElement;if(a)s=a,L=i,W=n,h=null;if(t===0)e.focus();else if(t===1)P(n.firstElementChild,k);else if(t===2)P(n.lastElementChild,w)}}},T=(e=0)=>{while(r[e])d(r.pop(),3)},Q=(e)=>{if(e.role==="menuitemcheckbox")e.ariaChecked=e.ariaChecked==="true"?"false":"true";else if(e.role==="menuitemradio")R=e,$=null,D=[],k(e.parentElement),R=null,e.ariaChecked="true";else T()},b=(e,t)=>{if(e.ariaExpanded==="true"===t)return;let n=g(e,"aria-controls");if(n){if(t){if(o&&o!==e)b(o,!1);n.showPopover(),e.ariaExpanded="true",n.ariaHidden="false",O(e,n),o=e}else if(n.hidePopover(),e.ariaExpanded="false",n.ariaHidden="true",o===e)o=null}},K=(e,t)=>{let n=g(e,"aria-describedby");if(n)if(t)n.showPopover(),O(e,n);else n.hidePopover()},M=()=>{if(C&&C!==v&&C!==p)C=null;let e=v??p,t=e&&e!==C?e:null;if(t!==c){if(c)K(c,!1);if(t)K(t,!0);c=t}},V=(e)=>{if(y)return;let t=g(e,"aria-controls");if(!j(t))return;y=t,F=e,t.showModal()},Z=()=>{if(!y||!F)return;let e=y,t=F;y=null,F=null,e.close(),t.focus()};addEventListener("click",(e)=>{x=null;let t=e.detail===0,n=f(e.target)?e.target:e.target instanceof Element?e.target.parentElement:null;if(n){let i=n;while(i){let a=i.id;if(a.startsWith("mct:")){if(a.startsWith("mct:m")){if(o)b(o,!1);let l=t?1:3;if(H(i.parentElement,"mcc:m")){if(!r.includes(i))d(i,l)}else if(r[0]){let _=i!==r[0];if(T(),_)d(i,l)}else d(i,l)}else{if(r[0])T();if(a.startsWith("mct:a"))q(i);else if(a.startsWith("mct:c"))N(i);else if(a.startsWith("mct:ta"))J(i);else if(a.startsWith("mct:dialog-c"))Z();else if(a.startsWith("mct:dialog-o")&&i.ariaDisabled!=="true"){if(o)b(o,!1);if(c)C=c,M();V(i)}else if(a.startsWith("mct:p")&&i.ariaDisabled!=="true"){let l=i.ariaExpanded==="true";b(i,!l),l?i.focus():g(i,"aria-controls")?.focus()}else if(a.startsWith("mct:to")&&c)C=c,M()}break}else if(a.startsWith("mcc:m")&&r[0]){let l=n;while(l&&l!==i){if(S(l)&&!E(l,"mct:m")){Q(l);break}l=l.parentElement}break}else if(a.startsWith("mcc:p"))break;else if(a.startsWith("mcc:to"))break;else if(a.startsWith("mcc:d"))break;i=i.parentElement}if(!i){if(r[0])T();if(o)b(o,!1)}}if(x)e.preventDefault()}),addEventListener("pointermove",(e)=>{if(e.pointerType==="touch")return;if(f(e.target)&&!H(e.target,"mcc:to")){let t=H(e.target,"mct:to");if(t!==v)v=t,M()}if(r[0]){if(r[1]&&s&&L&&W){if(e.clientX>=L.left&&e.clientX<=L.right&&e.clientY>=L.top&&e.clientY<=L.bottom){if(h=W.getBoundingClientRect(),s.style.setProperty("--left",`${h.left}px`),s.style.setProperty("--right",`${h.right}px`),s.style.setProperty("--top",`${h.top}px`),s.style.setProperty("--bottom",`${h.bottom}px`),s.style.setProperty("--x",`${e.clientX}px`),s.style.setProperty("--y",`${e.clientY}px`),!s.hasAttribute("data-safe"))s.setAttribute("data-safe","")}else if(s.hasAttribute("data-safe")&&h&&(e.target!==s||(h.left-L.right)*e.movementX<0))s.removeAttribute("data-safe")}let t=e.target;if(f(t)){let n=[],i=t,a=!1,l=!1;while(i){if(S(i))l=!0;if(!l&&i.id.startsWith("mcc:")){a=!0;break}if(E(i,"mct:m"))n.unshift(i);else if(i.id.startsWith("mcc:m")){let u=g(i,"aria-labelledby");if(E(u,"mct:m"))n.unshift(u)}i=i.parentElement}if(!a&&n[0]){let u=0;while(r[u]&&r[u]===n[u])u++;if(u===0&&(n[0].role!=="menuitem"||n[0].parentElement?.parentElement!==r[0].parentElement?.parentElement))return;T(u),d(n[u],3)}}}}),addEventListener("keydown",(e)=>{x=null,A=null,m=null;let t=e.target;if(E(t,"mct:a")){let n=t.parentElement?.parentElement;if(n)switch(e.key){case"ArrowDown":z(n);break;case"ArrowUp":G(n);break;case"Home":{let i=n.parentElement;if(i)I(i.firstElementChild,z);break}case"End":{let i=n.parentElement;if(i)I(i.lastElementChild,G);break}}}else if(E(t,"mct:ta")){let n=t.parentElement?.ariaOrientation==="vertical";switch(e.key){case"ArrowDown":if(n)X(t);break;case"ArrowUp":if(n)Y(t);break;case"ArrowRight":if(!n)X(t);break;case"ArrowLeft":if(!n)Y(t);break;case"Home":U(t.parentElement?.firstElementChild,X);break;case"End":U(t.parentElement?.lastElementChild,Y);break}}else{if(E(t,"mct:m")){let n=H(t,"mcc:m")===null;switch(e.key){case"ArrowDown":if(n)if(t.ariaExpanded!=="true")d(t,1);else{let i=g(t,"aria-controls");if(i)P(i.firstElementChild,k)}break;case"ArrowUp":if(n)if(t.ariaExpanded!=="true")d(t,2);else{let i=g(t,"aria-controls");if(i)P(i.lastElementChild,w)}break;case"ArrowRight":if(!n)d(t,1);break}}if(!x&&f(t)&&t.role?.startsWith("menuitem")&&t.parentElement){let n=t.parentElement,i=r[0]?.parentElement||n,a=H(t.parentElement,"mcc:m");switch(e.key){case"Tab":if(r[0])r[0].focus();T();break;case"ArrowDown":if(a)k(n);break;case"ArrowUp":if(a)w(n);break;case"ArrowRight":{let l=k(i);if(l){let u=r[0];if(T(),u&&E(l,"mct:m"))d(l,3)}break}case"ArrowLeft":if(r[1])d(r.pop(),0);else{let l=w(i);if(l){let u=r[0];if(T(),u&&E(l,"mct:m"))d(l,3)}}break;case"Home":P(n.parentElement?.firstElementChild,k);break;case"End":P(n.parentElement?.lastElementChild,w);break;default:if(/^[a-zA-Z]$/.test(e.key))A=e.key.toLowerCase(),k(n);break}}}if(e.key==="Escape"){if(r[0])d(r.pop(),0);if(o){let n=o;b(n,!1),n.focus()}if(y)Z();if(c)C=c,M()}if(x)e.preventDefault()}),addEventListener("scroll",(e)=>{if(r[0]&&(!f(e.target)||!e.target.id.startsWith("mcc:m")))T();if(o&&!(f(e.target)&&H(e.target,"mcc:p")))b(o,!1);if(c)v=null,p=null,M()},!0),addEventListener("resize",()=>{if(r[0])T();if(o)b(o,!1);if(c)v=null,p=null,M()}),addEventListener("focusin",(e)=>{let t=e.target;if(E(t,"mct:to")){if(p!==t)p=t,M()}else if(p)p=null,M()}),addEventListener("focusout",(e)=>{if(o&&f(e.relatedTarget)&&o!==e.relatedTarget&&!g(o,"aria-controls")?.contains(e.relatedTarget))b(o,!1);if(p&&e.target===p&&!e.relatedTarget)p=null,M()})}
|
package/dist/react/index.d.ts
CHANGED
package/dist/react/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import{createContext as
|
|
2
|
+
import{createContext as H,createElement as u,useContext as N,useId as I}from"react";var g=H(null);function y(){let e=N(g);if(!e)throw Error("Accordion components must be used within Accordion.Item");return e}function z({children:e,type:o,...t}){let n=I();return u("div",{...t,"data-mode":o??"single",id:`mcr:accordion:${n}`},e)}function G({children:e,open:o,disabled:t,...n}){let r=I();return u(g.Provider,{value:{baseId:r,open:o??!1,disabled:t??!1}},u("div",n,e))}function q({children:e,as:o,...t}){return u(o??"h3",t,e)}function J({children:e,...o}){let t=y(),n=t.baseId,r=t.open;return u("button",{...o,type:"button",id:`mct:accordion:${n}`,"aria-expanded":r,"aria-controls":`mcc:accordion:${n}`,"aria-disabled":t.disabled||void 0},e)}function K({children:e,...o}){let t=y(),n=t.baseId,r=t.open;return u("div",{...o,id:`mcc:accordion:${n}`,role:"region","aria-labelledby":`mct:accordion:${n}`,"aria-hidden":!r,hidden:r?void 0:!0},e)}var Ue={Root:z,Item:G,Header:q,Trigger:J,Panel:K};import{createContext as Q,createElement as f,useContext as U,useId as W}from"react";var B=Q(null);function $(){let e=U(B);if(!e)throw Error("Collapsible components must be used within Collapsible.Root");return e}function X({children:e,open:o,...t}){let n=W();return f(B.Provider,{value:{baseId:n,open:o??!1}},f("div",t,e))}function Y({children:e,...o}){let t=$(),n=t.baseId,r=t.open;return f("button",{...o,type:"button",id:`mct:collapsible:${n}`,"aria-expanded":r,"aria-controls":`mcc:collapsible:${n}`},e)}function Z({children:e,...o}){let t=$(),n=t.baseId,r=t.open;return f("div",{...o,id:`mcc:collapsible:${n}`,"aria-labelledby":`mct:collapsible:${n}`,"aria-hidden":!r,hidden:r?void 0:!0},e)}var Ye={Root:X,Trigger:Y,Panel:Z};import{createContext as _,createElement as s,useContext as ee,useId as te}from"react";var M=_(null);function b(){let e=ee(M);if(!e)throw Error("Dialog components must be used within Dialog.Root");return e}function oe({children:e,...o}){let t=te();return s(M.Provider,{value:{id:t}},s("div",o,e))}function ne({children:e,...o}){let t=b();return s("button",{...o,type:"button",id:`mct:dialog-open:${t.id}`,"aria-haspopup":"dialog","aria-controls":`mcc:dialog:${t.id}`},e)}function re({children:e,...o}){let t=b(),n="aria-label"in o,r="aria-description"in o;return s("dialog",{...n?{}:{"aria-labelledby":`mcc:dialog-title:${t.id}`},...r?{}:{"aria-describedby":`mcc:dialog-description:${t.id}`},...o,id:`mcc:dialog:${t.id}`,tabIndex:-1},e)}function ae({children:e,as:o,...t}){let n=b();return s(o??"h2",{...t,id:`mcc:dialog-title:${n.id}`},e)}function ie({children:e,...o}){let t=b();return s("p",{...o,id:`mcc:dialog-description:${t.id}`},e)}function ce({children:e,...o}){let t=b();return s("button",{...o,type:"button",id:`mct:dialog-close:${t.id}`},e)}var et={Root:oe,Trigger:ne,Content:re,Title:ae,Description:ie,Close:ce};import{createContext as se,createElement as a,useContext as le,useId as T}from"react";var R=se(null);function w(){let e=le(R);if(!e)throw Error("Menu components must be used within Menu.Root");return e}function ue({children:e}){let o=T();return a(R.Provider,{value:{id:o,root:!0}},e)}function de({children:e,...o}){let t=w();return a("button",{...o,type:"button",id:`mct:menu:${t.id}`,"aria-controls":`mcc:menu:${t.id}`,"aria-expanded":"false","aria-haspopup":"menu",tabIndex:t.root?0:-1,role:t.submenu?"menuitem":"button"},e)}function pe({children:e,...o}){let t=w();return a("ul",{...o,role:"menu",id:`mcc:menu:${t.id}`,"aria-labelledby":`mct:menu:${t.id}`,"aria-hidden":"true",popover:"manual"},e)}function me({children:e,disabled:o,href:t,...n}){let r=o?a("span",{...n,role:"menuitem","aria-disabled":"true",tabIndex:-1},e):t?a("a",{...n,role:"menuitem",href:t,tabIndex:-1},e):a("button",{...n,type:"button",role:"menuitem",tabIndex:-1},e);return a("li",{role:"none"},r)}function be({children:e,checked:o,disabled:t,...n}){let r=t?a("span",{...n,role:"menuitemcheckbox","aria-checked":o??!1,"aria-disabled":"true",tabIndex:-1},e):a("button",{...n,type:"button",role:"menuitemcheckbox","aria-checked":o??!1,tabIndex:-1},e);return a("li",{role:"none"},r)}function xe({children:e,checked:o,disabled:t,...n}){let r=t?a("span",{...n,role:"menuitemradio","aria-checked":o??!1,"aria-disabled":"true",tabIndex:-1},e):a("button",{...n,type:"button",role:"menuitemradio","aria-checked":o??!1,tabIndex:-1},e);return a("li",{role:"none"},r)}function fe({children:e,...o}){return a("li",{...o,role:"presentation"},e)}function he(e){return a("li",{...e,role:"separator"})}function Pe({children:e,...o}){let t=T();return a(R.Provider,{value:{id:t,submenu:!0}},a("li",{...o,role:"none"},e))}var d={Root:ue,Trigger:de,Popover:pe,Item:me,CheckboxItem:be,RadioItem:xe,Label:fe,Separator:he,Group:Pe};import{createContext as V,createElement as i,useContext as D,useId as k,useRef as Re}from"react";var C=V(null),A=V(null);function L(){let e=D(C);if(!e)throw Error("Menubar.Trigger and Menubar.Popover must be used within Menubar.Menu or Menubar.Group");return e}function Ce(){let e=D(A);if(!e)throw Error("Menubar.Menu must be used within Menubar.Root");return e}function Ee({children:e,...o}){let t=Re(!1);return t.current=!1,i(A.Provider,{value:{claimFirst:()=>{if(!t.current)return t.current=!0,!0;return!1}}},i("ul",{...o,role:"menubar"},e))}function ve({children:e,...o}){let n=Ce().claimFirst(),r=k();return i(C.Provider,{value:{id:r,first:n}},i("li",{...o,role:"none"},e))}function Ie({children:e,...o}){let t=k();return i(C.Provider,{value:{id:t,first:!1}},i("li",{...o,role:"none"},e))}function ge({children:e,...o}){let t=L();return i("button",{...o,type:"button",id:`mct:menu:${t.id}`,"aria-controls":`mcc:menu:${t.id}`,"aria-expanded":"false","aria-haspopup":"menu",tabIndex:t.first?0:-1,role:"menuitem"},e)}function ye({children:e,...o}){let t=L();return i("ul",{...o,role:"menu",id:`mcc:menu:${t.id}`,"aria-labelledby":`mct:menu:${t.id}`,"aria-hidden":"true",popover:"manual"},e)}var it={Root:Ee,Menu:ve,Group:Ie,Trigger:ge,Popover:ye,Item:d.Item,CheckboxItem:d.CheckboxItem,RadioItem:d.RadioItem,Label:d.Label,Separator:d.Separator};import{createContext as Be,createElement as p,useContext as $e,useId as Me}from"react";var S=Be(null);function h(){let e=$e(S);if(!e)throw Error("Popover components must be used within Popover.Root");return e}function Te({children:e,...o}){let t=Me();return p(S.Provider,{value:{id:t}},p("div",o,e))}function we({children:e,...o}){let t=h();return p("button",{...o,type:"button",id:`mct:popover:${t.id}`,"aria-controls":`mcc:popover:${t.id}`,"aria-expanded":"false"},e)}function Ve({children:e,...o}){let t=h(),n="aria-label"in o,r="aria-description"in o;return p("div",{...n?{}:{"aria-labelledby":`mct:popover:${t.id}`},...r?{}:{"aria-describedby":`mcc:popover-description:${t.id}`},...o,id:`mcc:popover:${t.id}`,"aria-hidden":"true",popover:"manual",tabIndex:-1},e)}function De({children:e,as:o,...t}){let n=h();return p(o??"h2",{...t,id:`mcc:popover-title:${n.id}`},e)}function ke({children:e,...o}){let t=h();return p("p",{...o,id:`mcc:popover-description:${t.id}`},e)}var lt={Root:Te,Trigger:we,Content:Ve,Title:De,Description:ke};import{createContext as Ae,createElement as x,useContext as Le,useId as Se}from"react";var E=(e,o)=>o?`${e}:${o}`:e;var j=Ae(null);function v(){let e=Le(j);if(!e)throw Error("Tabs components must be used within Tabs.Root");return e}function je({children:e,defaultValue:o,orientation:t,...n}){let r=Se(),c=t??"horizontal";return x(j.Provider,{value:{baseId:r,selected:o,orientation:c}},x("div",{...n,id:`mcr:tabs:${r}`},e))}function Oe({children:e,...o}){let t=v();return x("div",{...o,role:"tablist","aria-orientation":t.orientation},e)}function Fe({children:e,value:o,selected:t,disabled:n,...r}){let c=v(),m=E(c.baseId,o),l=t??o===c.selected;return x("button",{...r,type:"button",role:"tab",id:`mct:tabs:${m}`,"aria-selected":l,"aria-controls":`mcc:tabs:${m}`,tabIndex:l?0:-1,"aria-disabled":n||void 0},e)}function He({children:e,value:o,selected:t,focusable:n=!0,...r}){let c=v(),m=E(c.baseId,o),l=t??o===c.selected;return x("div",{...r,role:"tabpanel",id:`mcc:tabs:${m}`,"aria-labelledby":`mct:tabs:${m}`,"aria-hidden":!l,hidden:l?void 0:!0,tabIndex:n?l?0:-1:void 0},e)}var bt={Root:je,List:Oe,Tab:Fe,Panel:He};import{createContext as Ne,createElement as P,useContext as ze,useId as Ge}from"react";var O=Ne(null);function F(){let e=ze(O);if(!e)throw Error("Tooltip components must be used within Tooltip.Root");return e}function qe({children:e,...o}){let t=Ge();return P(O.Provider,{value:{id:t}},P("div",o,e))}function Je({children:e,...o}){let t=F();return P("button",{...o,type:"button",id:`mct:tooltip:${t.id}`,"aria-describedby":`mcc:tooltip:${t.id}`},e)}function Ke({children:e,...o}){let t=F();return P("div",{...o,id:`mcc:tooltip:${t.id}`,role:"tooltip",popover:"manual"},e)}var ht={Root:qe,Trigger:Je,Content:Ke};export{ht as Tooltip,bt as Tabs,lt as Popover,it as Menubar,d as Menu,et as Dialog,Ye as Collapsible,Ue as Accordion};
|
package/dist/react/menu.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type ReactElement } from "react";
|
|
1
|
+
import { type ReactElement, type ReactNode } from "react";
|
|
2
2
|
import type { BaseProps } from "./shared.js";
|
|
3
|
-
declare function Root({ children
|
|
4
|
-
|
|
3
|
+
declare function Root({ children }: {
|
|
4
|
+
children: ReactNode;
|
|
5
5
|
}): ReactElement;
|
|
6
6
|
declare function Trigger({ children, ...props }: BaseProps): ReactElement;
|
|
7
7
|
declare function Popover({ children, ...props }: BaseProps): ReactElement;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import type { BaseProps } from "./shared.js";
|
|
3
|
+
declare function Root({ children, ...props }: BaseProps): ReactElement;
|
|
4
|
+
declare function MenubarMenu({ children, ...props }: BaseProps): ReactElement;
|
|
5
|
+
declare function Group({ children, ...props }: BaseProps): ReactElement;
|
|
6
|
+
declare function Trigger({ children, ...props }: BaseProps): ReactElement;
|
|
7
|
+
declare function Popover({ children, ...props }: BaseProps): ReactElement;
|
|
8
|
+
export declare const Menubar: {
|
|
9
|
+
Root: typeof Root;
|
|
10
|
+
Menu: typeof MenubarMenu;
|
|
11
|
+
Group: typeof Group;
|
|
12
|
+
Trigger: typeof Trigger;
|
|
13
|
+
Popover: typeof Popover;
|
|
14
|
+
Item: ({ children, disabled, href, ...props }: BaseProps & {
|
|
15
|
+
disabled?: boolean;
|
|
16
|
+
href?: string;
|
|
17
|
+
}) => ReactElement;
|
|
18
|
+
CheckboxItem: ({ children, checked, disabled, ...props }: BaseProps & {
|
|
19
|
+
checked?: boolean;
|
|
20
|
+
disabled?: boolean;
|
|
21
|
+
}) => ReactElement;
|
|
22
|
+
RadioItem: ({ children, checked, disabled, ...props }: BaseProps & {
|
|
23
|
+
checked?: boolean;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
}) => ReactElement;
|
|
26
|
+
Label: ({ children, ...props }: BaseProps) => ReactElement;
|
|
27
|
+
Separator: (props: Omit<BaseProps, "children">) => ReactElement;
|
|
28
|
+
};
|
|
29
|
+
export {};
|
package/dist/vue/index.d.ts
CHANGED
package/dist/vue/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as x,h as y,provide as V,reactive as E,toRef as q,useId as L}from"vue";import{inject as G}from"vue";function n(o,t){let e=G(o);if(!e)throw Error(`${t} must be used within its parent provider`);return e}var _=(o,t)=>t?`${o}:${t}`:o,h=Symbol("CollapsibleContext"),T=Symbol("AccordionContext"),b=Symbol("TabsContext"),m=Symbol("MenuContext"),f=Symbol("MenubarSlotContext"),j=Symbol("MenubarClaimContext"),u=Symbol("PopoverContext"),$=Symbol("TooltipContext"),d=Symbol("DialogContext");var H=x({props:{type:{type:String,default:"single"}},setup(o,{slots:t}){let e=L();return()=>y("div",{"data-mode":o.type,id:`mcr:accordion:${e}`},t.default?.())}}),U=x({props:{open:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(o,{slots:t}){let e=L();return V(T,E({baseId:e,open:q(o,"open"),disabled:q(o,"disabled")})),()=>y("div",null,t.default?.())}}),J=x({props:{as:{type:String,default:"h3"}},setup(o,{slots:t}){return()=>y(o.as,null,t.default?.())}}),N=x({setup(o,{slots:t}){let e=n(T,"Accordion.Trigger/Panel");return()=>y("button",{type:"button",id:`mct:accordion:${e.baseId}`,"aria-expanded":e.open,"aria-controls":`mcc:accordion:${e.baseId}`,"aria-disabled":e.disabled||void 0},t.default?.())}}),O=x({setup(o,{slots:t}){let e=n(T,"Accordion.Trigger/Panel");return()=>y("div",{id:`mcc:accordion:${e.baseId}`,role:"region","aria-labelledby":`mct:accordion:${e.baseId}`,"aria-hidden":!e.open,hidden:e.open?void 0:!0},t.default?.())}}),We={Root:H,Item:U,Header:J,Trigger:N,Panel:O};import{defineComponent as D,h as k,provide as Q,reactive as W,toRef as X,useId as Y}from"vue";var Z=D({props:{open:{type:Boolean,default:!1}},setup(o,{slots:t}){let e=Y();return Q(h,W({baseId:e,open:X(o,"open")})),()=>k("div",null,t.default?.())}}),ee=D({setup(o,{slots:t}){let e=n(h,"Collapsible.Trigger/Panel");return()=>k("button",{type:"button",id:`mct:collapsible:${e.baseId}`,"aria-expanded":e.open,"aria-controls":`mcc:collapsible:${e.baseId}`},t.default?.())}}),te=D({setup(o,{slots:t}){let e=n(h,"Collapsible.Trigger/Panel");return()=>k("div",{id:`mcc:collapsible:${e.baseId}`,"aria-labelledby":`mct:collapsible:${e.baseId}`,"aria-hidden":!e.open,hidden:e.open?void 0:!0},t.default?.())}}),et={Root:Z,Trigger:ee,Panel:te};import{defineComponent as c,h as s,provide as oe,useId as ne}from"vue";var re=c({setup(o,{slots:t}){let e=ne();return oe(d,{id:e}),()=>s("div",null,t.default?.())}}),ie=c({setup(o,{slots:t}){let e=n(d,"Dialog.Trigger");return()=>s("button",{type:"button",id:`mct:dialog-open:${e.id}`,"aria-haspopup":"dialog","aria-controls":`mcc:dialog:${e.id}`},t.default?.())}}),ae=c({inheritAttrs:!1,setup(o,{slots:t,attrs:e}){let r=n(d,"Dialog.Content");return()=>{let a="aria-label"in e,P="aria-description"in e;return s("dialog",{...a?{}:{"aria-labelledby":`mcc:dialog-title:${r.id}`},...P?{}:{"aria-describedby":`mcc:dialog-description:${r.id}`},...e,id:`mcc:dialog:${r.id}`,tabindex:-1},t.default?.())}}}),le=c({props:{as:{type:String,default:"h2"}},setup(o,{slots:t}){let e=n(d,"Dialog.Title");return()=>s(o.as,{id:`mcc:dialog-title:${e.id}`},t.default?.())}}),de=c({setup(o,{slots:t}){let e=n(d,"Dialog.Description");return()=>s("p",{id:`mcc:dialog-description:${e.id}`},t.default?.())}}),ue=c({setup(o,{slots:t}){let e=n(d,"Dialog.Close");return()=>s("button",{type:"button",id:`mct:dialog-close:${e.id}`},t.default?.())}}),rt={Root:re,Trigger:ie,Content:ae,Title:le,Description:de,Close:ue};import{defineComponent as l,h as i,provide as F,useId as w}from"vue";var ce=l({setup(o,{slots:t}){let e=w();return F(m,{id:e,root:!0}),()=>t.default?.()}}),se=l({setup(o,{slots:t}){let e=n(m,"Menu.Trigger");return()=>i("button",{type:"button",id:`mct:menu:${e.id}`,"aria-controls":`mcc:menu:${e.id}`,"aria-expanded":"false","aria-haspopup":"menu",tabindex:e.root?0:-1,role:e.submenu?"menuitem":"button"},t.default?.())}}),pe=l({setup(o,{slots:t}){let e=n(m,"Menu.Popover");return()=>i("ul",{role:"menu",id:`mcc:menu:${e.id}`,"aria-labelledby":`mct:menu:${e.id}`,"aria-hidden":"true",popover:"manual"},t.default?.())}}),be=l({inheritAttrs:!1,props:{disabled:Boolean,href:String},setup(o,{slots:t,attrs:e}){return()=>{let r=o.disabled?i("span",{...e,role:"menuitem","aria-disabled":"true",tabindex:-1},t.default?.()):o.href?i("a",{...e,role:"menuitem",href:o.href,tabindex:-1},t.default?.()):i("button",{...e,type:"button",role:"menuitem",tabindex:-1},t.default?.());return i("li",{role:"none"},[r])}}}),me=l({inheritAttrs:!1,props:{checked:{type:Boolean,default:!1},disabled:Boolean},setup(o,{slots:t,attrs:e}){return()=>{let r=o.disabled?i("span",{...e,role:"menuitemcheckbox","aria-checked":o.checked,"aria-disabled":"true",tabindex:-1},t.default?.()):i("button",{...e,type:"button",role:"menuitemcheckbox","aria-checked":o.checked,tabindex:-1},t.default?.());return i("li",{role:"none"},[r])}}}),fe=l({inheritAttrs:!1,props:{checked:{type:Boolean,default:!1},disabled:Boolean},setup(o,{slots:t,attrs:e}){return()=>{let r=o.disabled?i("span",{...e,role:"menuitemradio","aria-checked":o.checked,"aria-disabled":"true",tabindex:-1},t.default?.()):i("button",{...e,type:"button",role:"menuitemradio","aria-checked":o.checked,tabindex:-1},t.default?.());return i("li",{role:"none"},[r])}}}),xe=l({setup(o,{slots:t}){return()=>i("li",{role:"presentation"},t.default?.())}}),ye=l({setup(){return()=>i("li",{role:"separator"})}}),ge=l({setup(o,{slots:t}){let e=w();return F(m,{id:e,submenu:!0}),()=>i("li",{role:"none"},t.default?.())}}),p={Root:ce,Trigger:se,Popover:pe,Item:be,CheckboxItem:me,RadioItem:fe,Label:xe,Separator:ye,Group:ge};import{defineComponent as g,h as v,onBeforeUpdate as ve,provide as R,ref as Ce,useId as z}from"vue";var Ie=g({setup(o,{slots:t}){let e=Ce(!1);return ve(()=>{e.value=!1}),R(j,{claimFirst:()=>{if(!e.value)return e.value=!0,!0;return!1}}),()=>v("ul",{role:"menubar"},t.default?.())}}),he=g({setup(o,{slots:t}){let r=n(j,"Menubar.Menu").claimFirst(),a=z();return R(f,{id:a,first:r}),()=>v("li",{role:"none"},t.default?.())}}),Te=g({setup(o,{slots:t}){let e=z();return R(f,{id:e,first:!1}),()=>v("li",{role:"none"},t.default?.())}}),$e=g({setup(o,{slots:t}){let e=n(f,"Menubar.Trigger");return()=>v("button",{type:"button",id:`mct:menu:${e.id}`,"aria-controls":`mcc:menu:${e.id}`,"aria-expanded":"false","aria-haspopup":"menu",tabindex:e.first?0:-1,role:"menuitem"},t.default?.())}}),Ke=g({setup(o,{slots:t}){let e=n(f,"Menubar.Popover");return()=>v("ul",{role:"menu",id:`mcc:menu:${e.id}`,"aria-labelledby":`mct:menu:${e.id}`,"aria-hidden":"true",popover:"manual"},t.default?.())}}),pt={Root:Ie,Menu:he,Group:Te,Trigger:$e,Popover:Ke,Item:p.Item,CheckboxItem:p.CheckboxItem,RadioItem:p.RadioItem,Label:p.Label,Separator:p.Separator};import{defineComponent as C,h as I,provide as Se,useId as Me}from"vue";var Pe=C({setup(o,{slots:t}){let e=Me();return Se(u,{id:e}),()=>I("div",null,t.default?.())}}),_e=C({setup(o,{slots:t}){let e=n(u,"Popover.Trigger");return()=>I("button",{type:"button",id:`mct:popover:${e.id}`,"aria-controls":`mcc:popover:${e.id}`,"aria-expanded":"false"},t.default?.())}}),je=C({inheritAttrs:!1,setup(o,{slots:t,attrs:e}){let r=n(u,"Popover.Content");return()=>{let a="aria-label"in e,P="aria-description"in e;return I("div",{...a?{}:{"aria-labelledby":`mct:popover:${r.id}`},...P?{}:{"aria-describedby":`mcc:popover-description:${r.id}`},...e,id:`mcc:popover:${r.id}`,"aria-hidden":"true",popover:"manual",tabindex:-1},t.default?.())}}}),De=C({props:{as:{type:String,default:"h2"}},setup(o,{slots:t}){let e=n(u,"Popover.Title");return()=>I(o.as,{id:`mcc:popover-title:${e.id}`},t.default?.())}}),ke=C({setup(o,{slots:t}){let e=n(u,"Popover.Description");return()=>I("p",{id:`mcc:popover-description:${e.id}`},t.default?.())}}),xt={Root:Pe,Trigger:_e,Content:je,Title:De,Description:ke};import{computed as K,defineComponent as S,h as M,provide as Re,reactive as Ae,toRef as Be,useId as qe}from"vue";var Le=S({props:{defaultValue:{type:String,required:!0},orientation:{type:String,default:"horizontal"}},setup(o,{slots:t}){let e=qe();return Re(b,Ae({baseId:e,selected:o.defaultValue,orientation:Be(o,"orientation")})),()=>M("div",{id:`mcr:tabs:${e}`},t.default?.())}}),Fe=S({setup(o,{slots:t}){let e=n(b,"Tabs.List/Tab/Panel");return()=>M("div",{role:"tablist","aria-orientation":e.orientation},t.default?.())}}),we=S({props:{value:{type:String,required:!0},selected:{type:[Boolean,null],default:null},disabled:Boolean},setup(o,{slots:t}){let e=n(b,"Tabs.List/Tab/Panel"),r=K(()=>_(e.baseId,o.value)),a=K(()=>o.selected!==null?o.selected:o.value===e.selected);return()=>M("button",{type:"button",role:"tab",id:`mct:tabs:${r.value}`,"aria-selected":a.value,"aria-controls":`mcc:tabs:${r.value}`,tabindex:a.value?0:-1,"aria-disabled":o.disabled||void 0},t.default?.())}}),ze=S({props:{value:{type:String,required:!0},selected:{type:[Boolean,null],default:null},focusable:{type:Boolean,default:!0}},setup(o,{slots:t}){let e=n(b,"Tabs.List/Tab/Panel"),r=K(()=>_(e.baseId,o.value)),a=K(()=>o.selected!==null?o.selected:o.value===e.selected);return()=>M("div",{role:"tabpanel",id:`mcc:tabs:${r.value}`,"aria-labelledby":`mct:tabs:${r.value}`,"aria-hidden":!a.value,hidden:a.value?void 0:!0,tabindex:o.focusable?a.value?0:-1:void 0},t.default?.())}}),Ct={Root:Le,List:Fe,Tab:we,Panel:ze};import{defineComponent as A,h as B,provide as Ge,useId as Ve}from"vue";var Ee=A({setup(o,{slots:t}){let e=Ve();return Ge($,{id:e}),()=>B("div",null,t.default?.())}}),He=A({setup(o,{slots:t}){let e=n($,"Tooltip.Trigger");return()=>B("button",{type:"button",id:`mct:tooltip:${e.id}`,"aria-describedby":`mcc:tooltip:${e.id}`},t.default?.())}}),Ue=A({setup(o,{slots:t}){let e=n($,"Tooltip.Content");return()=>B("div",{id:`mcc:tooltip:${e.id}`,role:"tooltip",popover:"manual"},t.default?.())}}),$t={Root:Ee,Trigger:He,Content:Ue};export{$t as Tooltip,Ct as Tabs,xt as Popover,pt as Menubar,p as Menu,rt as Dialog,et as Collapsible,We as Accordion};
|
package/dist/vue/menu.d.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
export declare const Menu: {
|
|
2
|
-
Root: import("vue").DefineComponent<import("vue").
|
|
3
|
-
menubar: BooleanConstructor;
|
|
4
|
-
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
2
|
+
Root: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
5
3
|
[key: string]: any;
|
|
6
|
-
}
|
|
7
|
-
menubar: BooleanConstructor;
|
|
8
|
-
}>> & Readonly<{}>, {
|
|
9
|
-
menubar: boolean;
|
|
10
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
4
|
+
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11
5
|
Trigger: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
12
6
|
[key: string]: any;
|
|
13
7
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export declare const Menubar: {
|
|
2
|
+
Root: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
3
|
+
[key: string]: any;
|
|
4
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
5
|
+
Menu: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
8
|
+
Group: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
9
|
+
[key: string]: any;
|
|
10
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
Trigger: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
12
|
+
[key: string]: any;
|
|
13
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
14
|
+
Popover: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
15
|
+
[key: string]: any;
|
|
16
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
17
|
+
Item: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
18
|
+
disabled: BooleanConstructor;
|
|
19
|
+
href: StringConstructor;
|
|
20
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
21
|
+
[key: string]: any;
|
|
22
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
23
|
+
disabled: BooleanConstructor;
|
|
24
|
+
href: StringConstructor;
|
|
25
|
+
}>> & Readonly<{}>, {
|
|
26
|
+
disabled: boolean;
|
|
27
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
28
|
+
CheckboxItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
29
|
+
checked: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: boolean;
|
|
32
|
+
};
|
|
33
|
+
disabled: BooleanConstructor;
|
|
34
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
37
|
+
checked: {
|
|
38
|
+
type: BooleanConstructor;
|
|
39
|
+
default: boolean;
|
|
40
|
+
};
|
|
41
|
+
disabled: BooleanConstructor;
|
|
42
|
+
}>> & Readonly<{}>, {
|
|
43
|
+
disabled: boolean;
|
|
44
|
+
checked: boolean;
|
|
45
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
46
|
+
RadioItem: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
47
|
+
checked: {
|
|
48
|
+
type: BooleanConstructor;
|
|
49
|
+
default: boolean;
|
|
50
|
+
};
|
|
51
|
+
disabled: BooleanConstructor;
|
|
52
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
53
|
+
[key: string]: any;
|
|
54
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
55
|
+
checked: {
|
|
56
|
+
type: BooleanConstructor;
|
|
57
|
+
default: boolean;
|
|
58
|
+
};
|
|
59
|
+
disabled: BooleanConstructor;
|
|
60
|
+
}>> & Readonly<{}>, {
|
|
61
|
+
disabled: boolean;
|
|
62
|
+
checked: boolean;
|
|
63
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
64
|
+
Label: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
65
|
+
[key: string]: any;
|
|
66
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
67
|
+
Separator: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
68
|
+
[key: string]: any;
|
|
69
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
70
|
+
};
|
package/dist/vue/shared.d.ts
CHANGED
|
@@ -21,15 +21,18 @@ export declare const TabsKey: InjectionKey<TabsContext>;
|
|
|
21
21
|
export type MenuContext = {
|
|
22
22
|
id: string;
|
|
23
23
|
root?: boolean;
|
|
24
|
-
menubar?: boolean;
|
|
25
24
|
submenu?: boolean;
|
|
26
|
-
first?: boolean;
|
|
27
25
|
};
|
|
28
26
|
export declare const MenuKey: InjectionKey<MenuContext>;
|
|
29
|
-
export type
|
|
27
|
+
export type MenubarSlotContext = {
|
|
28
|
+
id: string;
|
|
29
|
+
first: boolean;
|
|
30
|
+
};
|
|
31
|
+
export declare const MenubarSlotKey: InjectionKey<MenubarSlotContext>;
|
|
32
|
+
export type MenubarClaimContext = {
|
|
30
33
|
claimFirst: () => boolean;
|
|
31
34
|
};
|
|
32
|
-
export declare const
|
|
35
|
+
export declare const MenubarClaimKey: InjectionKey<MenubarClaimContext>;
|
|
33
36
|
export type PopoverContext = {
|
|
34
37
|
id: string;
|
|
35
38
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "monochrome",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Accessible UI component library. Best-in-class performance. HTML-first, React and Vue supported.",
|
|
5
5
|
"author": "Colin van Eenige",
|
|
6
6
|
"license": "MIT",
|
|
@@ -63,9 +63,9 @@
|
|
|
63
63
|
"scripts": {
|
|
64
64
|
"build": "NODE_ENV=production bun build.ts",
|
|
65
65
|
"test": "playwright test",
|
|
66
|
-
"lint": "biome check src tests
|
|
67
|
-
"lint:fix": "biome check --write src tests
|
|
68
|
-
"format": "biome format --write src tests
|
|
66
|
+
"lint": "biome check src tests",
|
|
67
|
+
"lint:fix": "biome check --write src tests",
|
|
68
|
+
"format": "biome format --write src tests",
|
|
69
69
|
"typecheck": "tsc --noEmit",
|
|
70
70
|
"prepare": "git config core.hooksPath scripts/git-hooks",
|
|
71
71
|
"prepublishOnly": "bun run typecheck && bun run build && bun run test"
|
|
@@ -99,18 +99,18 @@
|
|
|
99
99
|
"vue": "3.5.32"
|
|
100
100
|
},
|
|
101
101
|
"versionMeta": {
|
|
102
|
-
"gzipSize":
|
|
102
|
+
"gzipSize": 2697,
|
|
103
103
|
"routerGzipSize": 1057,
|
|
104
104
|
"wrappersGzipSize": {
|
|
105
|
-
"react":
|
|
106
|
-
"vue":
|
|
105
|
+
"react": 2165,
|
|
106
|
+
"vue": 2326
|
|
107
107
|
},
|
|
108
108
|
"tests": {
|
|
109
|
-
"total":
|
|
109
|
+
"total": 468,
|
|
110
110
|
"collapsible": 37,
|
|
111
111
|
"router": 28,
|
|
112
112
|
"accordion": 60,
|
|
113
|
-
"menu":
|
|
113
|
+
"menu": 184,
|
|
114
114
|
"tooltip": 24,
|
|
115
115
|
"tabs": 66,
|
|
116
116
|
"dialog": 36,
|