monochrome 0.9.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 +3 -2
- package/dist/index.js +1 -1
- package/dist/react/dialog.d.ts +19 -0
- package/dist/react/index.d.ts +2 -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/react/popover.d.ts +6 -0
- package/dist/vue/dialog.d.ts +32 -0
- package/dist/vue/index.d.ts +2 -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/popover.d.ts +18 -0
- package/dist/vue/shared.d.ts +11 -4
- package/package.json +11 -5
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 · 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
|
|
|
@@ -52,7 +52,8 @@ The React and Vue wrappers generate the same HTML and ARIA; all interactivity co
|
|
|
52
52
|
|
|
53
53
|
## Browser support
|
|
54
54
|
|
|
55
|
-
Baseline 2024. Uses the Popover API
|
|
55
|
+
Baseline 2024. Uses the Popover API and the native `<dialog>`
|
|
56
|
+
element. No polyfills shipped.
|
|
56
57
|
|
|
57
58
|
## Contributing
|
|
58
59
|
|
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()})}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ReactElement } from "react";
|
|
2
|
+
import type { BaseProps } from "./shared.js";
|
|
3
|
+
declare function Root({ children, ...props }: BaseProps): ReactElement;
|
|
4
|
+
declare function Trigger({ children, ...props }: BaseProps): ReactElement;
|
|
5
|
+
declare function Content({ children, ...props }: BaseProps): ReactElement;
|
|
6
|
+
declare function Title({ children, as, ...props }: BaseProps & {
|
|
7
|
+
as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
8
|
+
}): ReactElement;
|
|
9
|
+
declare function Description({ children, ...props }: BaseProps): ReactElement;
|
|
10
|
+
declare function Close({ children, ...props }: BaseProps): ReactElement;
|
|
11
|
+
export declare const Dialog: {
|
|
12
|
+
Root: typeof Root;
|
|
13
|
+
Trigger: typeof Trigger;
|
|
14
|
+
Content: typeof Content;
|
|
15
|
+
Title: typeof Title;
|
|
16
|
+
Description: typeof Description;
|
|
17
|
+
Close: typeof Close;
|
|
18
|
+
};
|
|
19
|
+
export {};
|
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/react/popover.d.ts
CHANGED
|
@@ -3,9 +3,15 @@ import type { BaseProps } from "./shared.js";
|
|
|
3
3
|
declare function Root({ children, ...props }: BaseProps): ReactElement;
|
|
4
4
|
declare function Trigger({ children, ...props }: BaseProps): ReactElement;
|
|
5
5
|
declare function Content({ children, ...props }: BaseProps): ReactElement;
|
|
6
|
+
declare function Title({ children, as, ...props }: BaseProps & {
|
|
7
|
+
as?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
8
|
+
}): ReactElement;
|
|
9
|
+
declare function Description({ children, ...props }: BaseProps): ReactElement;
|
|
6
10
|
export declare const Popover: {
|
|
7
11
|
Root: typeof Root;
|
|
8
12
|
Trigger: typeof Trigger;
|
|
9
13
|
Content: typeof Content;
|
|
14
|
+
Title: typeof Title;
|
|
15
|
+
Description: typeof Description;
|
|
10
16
|
};
|
|
11
17
|
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export declare const Dialog: {
|
|
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
|
+
Trigger: 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
|
+
Content: 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
|
+
Title: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
as: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
|
+
as: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
}>> & Readonly<{}>, {
|
|
24
|
+
as: string;
|
|
25
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
26
|
+
Description: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
29
|
+
Close: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
32
|
+
};
|
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/popover.d.ts
CHANGED
|
@@ -8,4 +8,22 @@ export declare const Popover: {
|
|
|
8
8
|
Content: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
9
9
|
[key: string]: any;
|
|
10
10
|
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11
|
+
Title: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
12
|
+
as: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
17
|
+
[key: string]: any;
|
|
18
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
19
|
+
as: {
|
|
20
|
+
type: StringConstructor;
|
|
21
|
+
default: string;
|
|
22
|
+
};
|
|
23
|
+
}>> & Readonly<{}>, {
|
|
24
|
+
as: string;
|
|
25
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
26
|
+
Description: import("vue").DefineComponent<{}, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
11
29
|
};
|
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
|
};
|
|
@@ -38,3 +41,7 @@ export type TooltipContext = {
|
|
|
38
41
|
id: string;
|
|
39
42
|
};
|
|
40
43
|
export declare const TooltipKey: InjectionKey<TooltipContext>;
|
|
44
|
+
export type DialogContext = {
|
|
45
|
+
id: string;
|
|
46
|
+
};
|
|
47
|
+
export declare const DialogKey: InjectionKey<DialogContext>;
|
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",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"typescript",
|
|
31
31
|
"accordion",
|
|
32
32
|
"collapsible",
|
|
33
|
+
"dialog",
|
|
33
34
|
"menu",
|
|
34
35
|
"tabs"
|
|
35
36
|
],
|
|
@@ -98,17 +99,22 @@
|
|
|
98
99
|
"vue": "3.5.32"
|
|
99
100
|
},
|
|
100
101
|
"versionMeta": {
|
|
101
|
-
"gzipSize":
|
|
102
|
+
"gzipSize": 2697,
|
|
102
103
|
"routerGzipSize": 1057,
|
|
104
|
+
"wrappersGzipSize": {
|
|
105
|
+
"react": 2165,
|
|
106
|
+
"vue": 2326
|
|
107
|
+
},
|
|
103
108
|
"tests": {
|
|
104
|
-
"total":
|
|
109
|
+
"total": 468,
|
|
105
110
|
"collapsible": 37,
|
|
106
111
|
"router": 28,
|
|
107
112
|
"accordion": 60,
|
|
108
|
-
"menu":
|
|
113
|
+
"menu": 184,
|
|
109
114
|
"tooltip": 24,
|
|
110
115
|
"tabs": 66,
|
|
111
|
-
"
|
|
116
|
+
"dialog": 36,
|
|
117
|
+
"popover": 33
|
|
112
118
|
}
|
|
113
119
|
}
|
|
114
120
|
}
|