1import{W as a,bn as n,d1 as r}from"./index-TALscxEc.js";import"./mui-CRsYZxVY.js";import"./vendor-Dwao9eNC.js";import"./query-8ViTdhdk.js";import"./datePickers-BIJXYOKG.js";import"./icons-D8aatgQ4.js";import"./lab-DSem1Osk.js";(function(){try{var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};e.SENTRY_RELEASE={id:"2ad85febf9735404429b0670d4acf56a0af5a0a2"}}catch{}})();try{(function(){var e=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="86f95b7c-8d6e-41b0-86d6-4449d2db03fb",e._sentryDebugIdIdentifier="sentry-dbid-86f95b7c-8d6e-41b0-86d6-4449d2db03fb")})()}catch{}class u extends a{constructor(){super(...arguments),this.selectionStarted=!1}async impact(t){const i=this.patternForImpact(t==null?void 0:t.style);this.vibrateWithPattern(i)}async notification(t){const i=this.patternForNotification(t==null?void 0:t.type);this.vibrateWithPattern(i)}async vibrate(t){const i=(t==null?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=n.Heavy){return t===n.Medium?[43]:t===n.Light?[20]:[61]}patternForNotification(t=r.Success){return t===r.Warning?[30,40,30,50,60]:t===r.Error?[27,45,50]:[35,65,21]}vibrateWithPattern(t){if(navigator.vibrate)navigator.vibrate(t);else throw this.unavailable("Browser does not support the vibrate API")}}export{u 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.