@data-slot/accordion 0.1.1 → 0.1.3

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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));const c=s(require(`@data-slot/core`));function l(e,t={}){let{multiple:n=!1,onValueChange:r,collapsible:i=!0}=t,a=(0,c.getParts)(e,`accordion-item`);if(a.length===0)throw Error(`Accordion requires at least one accordion-item`);let o=t.defaultValue?Array.isArray(t.defaultValue)?t.defaultValue:[t.defaultValue]:[],s=new Set(o),l=[],u=[];a.forEach(t=>{let a=t.dataset.value;if(!a)return;let o=(0,c.getPart)(t,`accordion-trigger`),f=(0,c.getPart)(t,`accordion-content`);if(!o||!f)return;u.push(o);let p=(0,c.ensureId)(f,`accordion-content`),m=(0,c.ensureId)(o,`accordion-trigger`);o.setAttribute(`aria-controls`,p),f.setAttribute(`aria-labelledby`,m),f.setAttribute(`role`,`region`),l.push((0,c.on)(o,`click`,()=>{let t=s.has(a);if(t){if(!i&&!n&&s.size===1)return;s.delete(a)}else n?s.add(a):s=new Set([a]);d(),(0,c.emit)(e,`accordion:change`,{value:[...s]}),r?.([...s])}))}),l.push((0,c.on)(e,`keydown`,e=>{let t=e.target,n=u.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`ArrowDown`:r=n+1,r>=u.length&&(r=0);break;case`ArrowUp`:r=n-1,r<0&&(r=u.length-1);break;case`Home`:r=0;break;case`End`:r=u.length-1;break;default:return}e.preventDefault(),u[r]?.focus()}));let d=()=>{a.forEach(e=>{let t=e.dataset.value;if(!t)return;let n=(0,c.getPart)(e,`accordion-trigger`),r=(0,c.getPart)(e,`accordion-content`);if(!n||!r)return;let i=s.has(t),a=n.getAttribute(`aria-expanded`)===`true`;if((0,c.setAria)(n,`expanded`,i),e.setAttribute(`data-state`,i?`open`:`closed`),r.setAttribute(`data-state`,i?`open`:`closed`),i)r.hidden=!1,r._accordionTimeout&&(clearTimeout(r._accordionTimeout),r._accordionTimeout=null);else if(a){r._accordionTimeout&&clearTimeout(r._accordionTimeout);let e=r.parentElement,t=n=>{if(n.propertyName===`grid-template-rows`){let n=r.getAttribute(`data-state`);n===`closed`&&(r.hidden=!0),e?.removeEventListener(`transitionend`,t),r._accordionTimeout&&(clearTimeout(r._accordionTimeout),r._accordionTimeout=null)}};e?(e.addEventListener(`transitionend`,t),r._accordionTimeout=setTimeout(()=>{let n=r.getAttribute(`data-state`);n===`closed`&&(r.hidden=!0),e.removeEventListener(`transitionend`,t),r._accordionTimeout=null},350)):r._accordionTimeout=setTimeout(()=>{r.hidden=!0,r._accordionTimeout=null},300)}else r.hidden=!0})};d();let f={expand:t=>{s.has(t)||(n?s.add(t):s=new Set([t]),d(),(0,c.emit)(e,`accordion:change`,{value:[...s]}),r?.([...s]))},collapse:t=>{s.has(t)&&(!i&&!n&&s.size===1||(s.delete(t),d(),(0,c.emit)(e,`accordion:change`,{value:[...s]}),r?.([...s])))},toggle:e=>{s.has(e)?f.collapse(e):f.expand(e)},get value(){return[...s]},destroy:()=>{l.forEach(e=>e()),l.length=0,a.forEach(e=>{let t=(0,c.getPart)(e,`accordion-content`);t&&t._accordionTimeout&&(clearTimeout(t._accordionTimeout),t._accordionTimeout=null)})}};return f}const u=new WeakSet;function d(e=document){let t=[];for(let n of(0,c.getRoots)(e,`accordion`)){if(u.has(n))continue;u.add(n),t.push(l(n))}return t}exports.create=d,exports.createAccordion=l;
1
+ const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)];let r=0;const i=(e,t)=>e.id||=`${t}-${++r}`,a=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))},o=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),s=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}));function c(n,r={}){let{multiple:c=!1,onValueChange:l,collapsible:u=!0}=r,d=t(n,`accordion-item`);if(d.length===0)throw Error(`Accordion requires at least one accordion-item`);let f=r.defaultValue?Array.isArray(r.defaultValue)?r.defaultValue:[r.defaultValue]:[],p=new Set(f),m=[],h=[];d.forEach(t=>{let r=t.dataset.value;if(!r)return;let a=e(t,`accordion-trigger`),d=e(t,`accordion-content`);if(!a||!d)return;h.push(a);let f=i(d,`accordion-content`),_=i(a,`accordion-trigger`);a.setAttribute(`aria-controls`,f),d.setAttribute(`aria-labelledby`,_),d.setAttribute(`role`,`region`),m.push(o(a,`click`,()=>{let e=p.has(r);if(e){if(!u&&!c&&p.size===1)return;p.delete(r)}else c?p.add(r):p=new Set([r]);g(),s(n,`accordion:change`,{value:[...p]}),l?.([...p])}))}),m.push(o(n,`keydown`,e=>{let t=e.target,n=h.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`ArrowDown`:r=n+1,r>=h.length&&(r=0);break;case`ArrowUp`:r=n-1,r<0&&(r=h.length-1);break;case`Home`:r=0;break;case`End`:r=h.length-1;break;default:return}e.preventDefault(),h[r]?.focus()}));let g=()=>{d.forEach(t=>{let n=t.dataset.value;if(!n)return;let r=e(t,`accordion-trigger`),i=e(t,`accordion-content`);if(!r||!i)return;let o=p.has(n),s=r.getAttribute(`aria-expanded`)===`true`;if(a(r,`expanded`,o),t.setAttribute(`data-state`,o?`open`:`closed`),i.setAttribute(`data-state`,o?`open`:`closed`),o)i.hidden=!1,i._accordionTimeout&&(clearTimeout(i._accordionTimeout),i._accordionTimeout=null);else if(s){i._accordionTimeout&&clearTimeout(i._accordionTimeout);let e=i.parentElement,t=n=>{if(n.propertyName===`grid-template-rows`){let n=i.getAttribute(`data-state`);n===`closed`&&(i.hidden=!0),e?.removeEventListener(`transitionend`,t),i._accordionTimeout&&(clearTimeout(i._accordionTimeout),i._accordionTimeout=null)}};e?(e.addEventListener(`transitionend`,t),i._accordionTimeout=setTimeout(()=>{let n=i.getAttribute(`data-state`);n===`closed`&&(i.hidden=!0),e.removeEventListener(`transitionend`,t),i._accordionTimeout=null},350)):i._accordionTimeout=setTimeout(()=>{i.hidden=!0,i._accordionTimeout=null},300)}else i.hidden=!0})};g();let _={expand:e=>{p.has(e)||(c?p.add(e):p=new Set([e]),g(),s(n,`accordion:change`,{value:[...p]}),l?.([...p]))},collapse:e=>{p.has(e)&&(!u&&!c&&p.size===1||(p.delete(e),g(),s(n,`accordion:change`,{value:[...p]}),l?.([...p])))},toggle:e=>{p.has(e)?_.collapse(e):_.expand(e)},get value(){return[...p]},destroy:()=>{m.forEach(e=>e()),m.length=0,d.forEach(t=>{let n=e(t,`accordion-content`);n&&n._accordionTimeout&&(clearTimeout(n._accordionTimeout),n._accordionTimeout=null)})}};return _}const l=new WeakSet;function u(e=document){let t=[];for(let r of n(e,`accordion`)){if(l.has(r))continue;l.add(r),t.push(c(r))}return t}exports.create=u,exports.createAccordion=c;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{emit as e,ensureId as t,getPart as n,getParts as r,getRoots as i,on as a,setAria as o}from"@data-slot/core";function s(i,s={}){let{multiple:c=!1,onValueChange:l,collapsible:u=!0}=s,d=r(i,`accordion-item`);if(d.length===0)throw Error(`Accordion requires at least one accordion-item`);let f=s.defaultValue?Array.isArray(s.defaultValue)?s.defaultValue:[s.defaultValue]:[],p=new Set(f),m=[],h=[];d.forEach(r=>{let o=r.dataset.value;if(!o)return;let s=n(r,`accordion-trigger`),d=n(r,`accordion-content`);if(!s||!d)return;h.push(s);let f=t(d,`accordion-content`),_=t(s,`accordion-trigger`);s.setAttribute(`aria-controls`,f),d.setAttribute(`aria-labelledby`,_),d.setAttribute(`role`,`region`),m.push(a(s,`click`,()=>{let t=p.has(o);if(t){if(!u&&!c&&p.size===1)return;p.delete(o)}else c?p.add(o):p=new Set([o]);g(),e(i,`accordion:change`,{value:[...p]}),l?.([...p])}))}),m.push(a(i,`keydown`,e=>{let t=e.target,n=h.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`ArrowDown`:r=n+1,r>=h.length&&(r=0);break;case`ArrowUp`:r=n-1,r<0&&(r=h.length-1);break;case`Home`:r=0;break;case`End`:r=h.length-1;break;default:return}e.preventDefault(),h[r]?.focus()}));let g=()=>{d.forEach(e=>{let t=e.dataset.value;if(!t)return;let r=n(e,`accordion-trigger`),i=n(e,`accordion-content`);if(!r||!i)return;let a=p.has(t),s=r.getAttribute(`aria-expanded`)===`true`;if(o(r,`expanded`,a),e.setAttribute(`data-state`,a?`open`:`closed`),i.setAttribute(`data-state`,a?`open`:`closed`),a)i.hidden=!1,i._accordionTimeout&&(clearTimeout(i._accordionTimeout),i._accordionTimeout=null);else if(s){i._accordionTimeout&&clearTimeout(i._accordionTimeout);let e=i.parentElement,t=n=>{if(n.propertyName===`grid-template-rows`){let n=i.getAttribute(`data-state`);n===`closed`&&(i.hidden=!0),e?.removeEventListener(`transitionend`,t),i._accordionTimeout&&(clearTimeout(i._accordionTimeout),i._accordionTimeout=null)}};e?(e.addEventListener(`transitionend`,t),i._accordionTimeout=setTimeout(()=>{let n=i.getAttribute(`data-state`);n===`closed`&&(i.hidden=!0),e.removeEventListener(`transitionend`,t),i._accordionTimeout=null},350)):i._accordionTimeout=setTimeout(()=>{i.hidden=!0,i._accordionTimeout=null},300)}else i.hidden=!0})};g();let _={expand:t=>{p.has(t)||(c?p.add(t):p=new Set([t]),g(),e(i,`accordion:change`,{value:[...p]}),l?.([...p]))},collapse:t=>{p.has(t)&&(!u&&!c&&p.size===1||(p.delete(t),g(),e(i,`accordion:change`,{value:[...p]}),l?.([...p])))},toggle:e=>{p.has(e)?_.collapse(e):_.expand(e)},get value(){return[...p]},destroy:()=>{m.forEach(e=>e()),m.length=0,d.forEach(e=>{let t=n(e,`accordion-content`);t&&t._accordionTimeout&&(clearTimeout(t._accordionTimeout),t._accordionTimeout=null)})}};return _}const c=new WeakSet;function l(e=document){let t=[];for(let n of i(e,`accordion`)){if(c.has(n))continue;c.add(n),t.push(s(n))}return t}export{l as create,s as createAccordion};
1
+ const e=(e,t)=>e.querySelector(`[data-slot="${t}"]`),t=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],n=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)];let r=0;const i=(e,t)=>e.id||=`${t}-${++r}`,a=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))},o=(e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)),s=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}));function c(n,r={}){let{multiple:c=!1,onValueChange:l,collapsible:u=!0}=r,d=t(n,`accordion-item`);if(d.length===0)throw Error(`Accordion requires at least one accordion-item`);let f=r.defaultValue?Array.isArray(r.defaultValue)?r.defaultValue:[r.defaultValue]:[],p=new Set(f),m=[],h=[];d.forEach(t=>{let r=t.dataset.value;if(!r)return;let a=e(t,`accordion-trigger`),d=e(t,`accordion-content`);if(!a||!d)return;h.push(a);let f=i(d,`accordion-content`),_=i(a,`accordion-trigger`);a.setAttribute(`aria-controls`,f),d.setAttribute(`aria-labelledby`,_),d.setAttribute(`role`,`region`),m.push(o(a,`click`,()=>{let e=p.has(r);if(e){if(!u&&!c&&p.size===1)return;p.delete(r)}else c?p.add(r):p=new Set([r]);g(),s(n,`accordion:change`,{value:[...p]}),l?.([...p])}))}),m.push(o(n,`keydown`,e=>{let t=e.target,n=h.indexOf(t);if(n===-1)return;let r=n;switch(e.key){case`ArrowDown`:r=n+1,r>=h.length&&(r=0);break;case`ArrowUp`:r=n-1,r<0&&(r=h.length-1);break;case`Home`:r=0;break;case`End`:r=h.length-1;break;default:return}e.preventDefault(),h[r]?.focus()}));let g=()=>{d.forEach(t=>{let n=t.dataset.value;if(!n)return;let r=e(t,`accordion-trigger`),i=e(t,`accordion-content`);if(!r||!i)return;let o=p.has(n),s=r.getAttribute(`aria-expanded`)===`true`;if(a(r,`expanded`,o),t.setAttribute(`data-state`,o?`open`:`closed`),i.setAttribute(`data-state`,o?`open`:`closed`),o)i.hidden=!1,i._accordionTimeout&&(clearTimeout(i._accordionTimeout),i._accordionTimeout=null);else if(s){i._accordionTimeout&&clearTimeout(i._accordionTimeout);let e=i.parentElement,t=n=>{if(n.propertyName===`grid-template-rows`){let n=i.getAttribute(`data-state`);n===`closed`&&(i.hidden=!0),e?.removeEventListener(`transitionend`,t),i._accordionTimeout&&(clearTimeout(i._accordionTimeout),i._accordionTimeout=null)}};e?(e.addEventListener(`transitionend`,t),i._accordionTimeout=setTimeout(()=>{let n=i.getAttribute(`data-state`);n===`closed`&&(i.hidden=!0),e.removeEventListener(`transitionend`,t),i._accordionTimeout=null},350)):i._accordionTimeout=setTimeout(()=>{i.hidden=!0,i._accordionTimeout=null},300)}else i.hidden=!0})};g();let _={expand:e=>{p.has(e)||(c?p.add(e):p=new Set([e]),g(),s(n,`accordion:change`,{value:[...p]}),l?.([...p]))},collapse:e=>{p.has(e)&&(!u&&!c&&p.size===1||(p.delete(e),g(),s(n,`accordion:change`,{value:[...p]}),l?.([...p])))},toggle:e=>{p.has(e)?_.collapse(e):_.expand(e)},get value(){return[...p]},destroy:()=>{m.forEach(e=>e()),m.length=0,d.forEach(t=>{let n=e(t,`accordion-content`);n&&n._accordionTimeout&&(clearTimeout(n._accordionTimeout),n._accordionTimeout=null)})}};return _}const l=new WeakSet;function u(e=document){let t=[];for(let r of n(e,`accordion`)){if(l.has(r))continue;l.add(r),t.push(c(r))}return t}export{u as create,c as createAccordion};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-slot/accordion",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.cjs",
@@ -24,7 +24,7 @@
24
24
  "scripts": {
25
25
  "build": "tsdown"
26
26
  },
27
- "dependencies": {
27
+ "devDependencies": {
28
28
  "@data-slot/core": "workspace:*"
29
29
  },
30
30
  "repository": {