1import{W as t,I as i,N as e}from"./index-CbefH_YK.js";import"./animation-CS0X7vnl.js";import"./router-DiOO7MiE.js";import"./ui-COEWoYxF.js";import"./state-Bxj7oUbf.js";import"./supabase-BlqISpUC.js";class a extends t{constructor(){super(...arguments),this.selectionStarted=!1}async impact(t){const i=this.patternForImpact(null==t?void 0:t.style);this.vibrateWithPattern(i)}async notification(t){const i=this.patternForNotification(null==t?void 0:t.type);this.vibrateWithPattern(i)}async vibrate(t){const i=(null==t?void 0:t.duration)||300;this.vibrateWithPattern([i])}async selectionStart(){this.selectionStarted=!0}async selectionChanged(){this.selectionStarted&&this.vibrateWithPattern([70])}async selectionEnd(){this.selectionStarted=!1}patternForImpact(t=i.Heavy){return t===i.Medium?[43]:t===i.Light?[20]:[61]}patternForNotification(t=e.Success){return t===e.Warning?[30,40,30,50,60]:t===e.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(t){if(!navigator.vibrate)throw this.unavailable("Browser does not support the vibrate API");navigator.vibrate(t)}
1}export{a as HapticsWeb};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.