@data-slot/toggle 0.2.30 → 0.2.32

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
- const e=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],t=new WeakMap;function n(e,n,r){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let i=t.get(e);i||(i=new Set,t.set(e,i)),!i.has(n)&&(i.add(n),console.warn(`[@data-slot] ${r}`))}function r(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function i(e,t){for(let n of r(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function a(e,t){return r(t).some(t=>e.hasAttribute(t))}const o=new Set([``,`true`,`1`,`yes`]),s=new Set([`false`,`0`,`no`]);function c(e,t){if(!a(e,t))return;let r=i(e,t);if(r===null)return;let c=r.toLowerCase();if(o.has(c))return!0;if(s.has(c))return!1;n(e,t,`Invalid boolean value "${r}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}const l=Symbol.for(`data-slot.portal-owner`),u=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))};function d(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const f=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}));function p(e,t={}){let n=t.defaultPressed??c(e,`defaultPressed`)??!1,r=t.disabled??c(e,`disabled`)??!1,i=t.onPressedChange,a=n,o=[],s=()=>e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`,l=(t,n=!1)=>{a===t&&!n||(a=t,u(e,`pressed`,a),e.dataset.state=a?`on`:`off`,n||(f(e,`toggle:change`,{pressed:a}),i?.(a)))};return r&&(e.tagName===`BUTTON`&&e.setAttribute(`disabled`,``),e.setAttribute(`aria-disabled`,`true`)),e.tagName===`BUTTON`&&!e.hasAttribute(`type`)&&e.setAttribute(`type`,`button`),l(a,!0),o.push(d(e,`click`,()=>{s()||l(!a)})),o.push(d(e,`toggle:set`,e=>{if(s())return;let t=e.detail,n;typeof t==`boolean`?n=t:t?.value===void 0?t?.pressed!==void 0&&(n=t.pressed):n=t.value,typeof n==`boolean`&&l(n)})),{toggle:()=>l(!a),press:()=>l(!0),release:()=>l(!1),get pressed(){return a},destroy:()=>{o.forEach(e=>e()),o.length=0,m.delete(e)}}}const m=new WeakSet;function h(t=document){let n=[];for(let r of e(t,`toggle`)){if(m.has(r))continue;m.add(r),n.push(p(r))}return n}exports.create=h,exports.createToggle=p;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@data-slot/core`);function t(t,r={}){let i=r.defaultPressed??(0,e.getDataBool)(t,`defaultPressed`)??!1,a=r.disabled??(0,e.getDataBool)(t,`disabled`)??!1,o=r.onPressedChange,s=i,c=[],l=()=>t.hasAttribute(`disabled`)||t.getAttribute(`aria-disabled`)===`true`,u=(n,r=!1)=>{s===n&&!r||(s=n,(0,e.setAria)(t,`pressed`,s),t.dataset.state=s?`on`:`off`,r||((0,e.emit)(t,`toggle:change`,{pressed:s}),o?.(s)))};return a&&(t.tagName===`BUTTON`&&t.setAttribute(`disabled`,``),t.setAttribute(`aria-disabled`,`true`)),t.tagName===`BUTTON`&&!t.hasAttribute(`type`)&&t.setAttribute(`type`,`button`),u(s,!0),c.push((0,e.on)(t,`click`,()=>{l()||u(!s)})),c.push((0,e.on)(t,`toggle:set`,e=>{if(l())return;let t=e.detail,n;typeof t==`boolean`?n=t:t?.value===void 0?t?.pressed!==void 0&&(n=t.pressed):n=t.value,typeof n==`boolean`&&u(n)})),{toggle:()=>u(!s),press:()=>u(!0),release:()=>u(!1),get pressed(){return s},destroy:()=>{c.forEach(e=>e()),c.length=0,n.delete(t)}}}const n=new WeakSet;function r(r=document){let i=[];for(let a of(0,e.getRoots)(r,`toggle`))n.has(a)||(n.add(a),i.push(t(a)));return i}exports.create=r,exports.createToggle=t;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const e=(e,t)=>[...e.querySelectorAll(`[data-slot="${t}"]`)],t=new WeakMap;function n(e,n,r){if(typeof process<`u`&&process.env?.NODE_ENV===`production`)return;let i=t.get(e);i||(i=new Set,t.set(e,i)),!i.has(n)&&(i.add(n),console.warn(`[@data-slot] ${r}`))}function r(e){let t=`data-${e.replace(/([A-Z])/g,`-$1`).toLowerCase()}`,n=`data-${e}`;return t===n?[t]:[t,n]}function i(e,t){for(let n of r(t))if(e.hasAttribute(n))return e.getAttribute(n);return null}function a(e,t){return r(t).some(t=>e.hasAttribute(t))}const o=new Set([``,`true`,`1`,`yes`]),s=new Set([`false`,`0`,`no`]);function c(e,t){if(!a(e,t))return;let r=i(e,t);if(r===null)return;let c=r.toLowerCase();if(o.has(c))return!0;if(s.has(c))return!1;n(e,t,`Invalid boolean value "${r}" for data-${t}. Expected: true/false/1/0/yes/no or empty.`)}const l=Symbol.for(`data-slot.portal-owner`),u=(e,t,n)=>{n===null?e.removeAttribute(`aria-${t}`):e.setAttribute(`aria-${t}`,String(n))};function d(e,t,n,r){return e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)}const f=(e,t,n)=>e.dispatchEvent(new CustomEvent(t,{bubbles:!0,detail:n}));function p(e,t={}){let n=t.defaultPressed??c(e,`defaultPressed`)??!1,r=t.disabled??c(e,`disabled`)??!1,i=t.onPressedChange,a=n,o=[],s=()=>e.hasAttribute(`disabled`)||e.getAttribute(`aria-disabled`)===`true`,l=(t,n=!1)=>{a===t&&!n||(a=t,u(e,`pressed`,a),e.dataset.state=a?`on`:`off`,n||(f(e,`toggle:change`,{pressed:a}),i?.(a)))};return r&&(e.tagName===`BUTTON`&&e.setAttribute(`disabled`,``),e.setAttribute(`aria-disabled`,`true`)),e.tagName===`BUTTON`&&!e.hasAttribute(`type`)&&e.setAttribute(`type`,`button`),l(a,!0),o.push(d(e,`click`,()=>{s()||l(!a)})),o.push(d(e,`toggle:set`,e=>{if(s())return;let t=e.detail,n;typeof t==`boolean`?n=t:t?.value===void 0?t?.pressed!==void 0&&(n=t.pressed):n=t.value,typeof n==`boolean`&&l(n)})),{toggle:()=>l(!a),press:()=>l(!0),release:()=>l(!1),get pressed(){return a},destroy:()=>{o.forEach(e=>e()),o.length=0,m.delete(e)}}}const m=new WeakSet;function h(t=document){let n=[];for(let r of e(t,`toggle`)){if(m.has(r))continue;m.add(r),n.push(p(r))}return n}export{h as create,p as createToggle};
1
+ import{emit as e,getDataBool as t,getRoots as n,on as r,setAria as i}from"@data-slot/core";function a(n,a={}){let s=a.defaultPressed??t(n,`defaultPressed`)??!1,c=a.disabled??t(n,`disabled`)??!1,l=a.onPressedChange,u=s,d=[],f=()=>n.hasAttribute(`disabled`)||n.getAttribute(`aria-disabled`)===`true`,p=(t,r=!1)=>{u===t&&!r||(u=t,i(n,`pressed`,u),n.dataset.state=u?`on`:`off`,r||(e(n,`toggle:change`,{pressed:u}),l?.(u)))};return c&&(n.tagName===`BUTTON`&&n.setAttribute(`disabled`,``),n.setAttribute(`aria-disabled`,`true`)),n.tagName===`BUTTON`&&!n.hasAttribute(`type`)&&n.setAttribute(`type`,`button`),p(u,!0),d.push(r(n,`click`,()=>{f()||p(!u)})),d.push(r(n,`toggle:set`,e=>{if(f())return;let t=e.detail,n;typeof t==`boolean`?n=t:t?.value===void 0?t?.pressed!==void 0&&(n=t.pressed):n=t.value,typeof n==`boolean`&&p(n)})),{toggle:()=>p(!u),press:()=>p(!0),release:()=>p(!1),get pressed(){return u},destroy:()=>{d.forEach(e=>e()),d.length=0,o.delete(n)}}}const o=new WeakSet;function s(e=document){let t=[];for(let r of n(e,`toggle`))o.has(r)||(o.add(r),t.push(a(r)));return t}export{s as create,a as createToggle};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@data-slot/toggle",
3
- "version": "0.2.30",
3
+ "version": "0.2.32",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "main": "./dist/index.cjs",
@@ -24,9 +24,6 @@
24
24
  "scripts": {
25
25
  "build": "tsdown"
26
26
  },
27
- "devDependencies": {
28
- "@data-slot/core": "workspace:*"
29
- },
30
27
  "repository": {
31
28
  "type": "git",
32
29
  "url": "https://github.com/bejamas/data-slot",
@@ -39,5 +36,8 @@
39
36
  "vanilla",
40
37
  "data-slot"
41
38
  ],
42
- "license": "MIT"
39
+ "license": "MIT",
40
+ "dependencies": {
41
+ "@data-slot/core": "workspace:*"
42
+ }
43
43
  }
File without changes
File without changes