@data-slot/toggle 0.2.29 → 0.2.31

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
+ 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 n=t.defaultPressed??(0,c.getDataBool)(e,`defaultPressed`)??!1,r=t.disabled??(0,c.getDataBool)(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,(0,c.setAria)(e,`pressed`,a),e.dataset.state=a?`on`:`off`,n||((0,c.emit)(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((0,c.on)(e,`click`,()=>{s()||l(!a)})),o.push((0,c.on)(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,u.delete(e)}}}const u=new WeakSet;function d(e=document){let t=[];for(let n of(0,c.getRoots)(e,`toggle`)){if(u.has(n))continue;u.add(n),t.push(l(n))}return t}exports.create=d,exports.createToggle=l;
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`)){if(o.has(r))continue;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.29",
3
+ "version": "0.2.31",
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
  }