storybook-addon-useragent
Version:
storybook-addon-useragent
2 lines • 2.81 kB
JavaScript
import {addons,types,useArgs,useParameter}from'storybook/manager-api';import c,{forwardRef,useCallback,useMemo}from'react';import {PopoverProvider,TooltipLinkList,ToggleButton}from'storybook/internal/components';var o="useragent";function u(e){return e?.[o]??""}var d="userAgent",l="storybook/user-agent",A=`${l}/tool`,g="User-Agent";var O=[{name:"iOS_12.2-Safari_604.1",userAgent:"Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Mobile/15E148 Safari/604.1"},{name:"Windows_10-IE_11",userAgent:"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"},{name:"macOS_10.15.6-Safari_14",userAgent:"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15"},{name:"Android_10-Chrome_91",userAgent:"Mozilla/5.0 (Linux; Android 10; Android SDK built for x86) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.120 Mobile Safari/537.36"}];var _=forwardRef(({color:e="currentColor",size:t=14,...r},n)=>c.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",fill:"none",width:t,height:t,viewBox:"0 0 24 24",strokeWidth:"1.5",stroke:e,ref:n,...r},c.createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M18 18.72a9.094 9.094 0 0 0 3.741-.479 3 3 0 0 0-4.682-2.72m.94 3.198.001.031c0 .225-.012.447-.037.666A11.944 11.944 0 0 1 12 21c-2.17 0-4.207-.576-5.963-1.584A6.062 6.062 0 0 1 6 18.719m12 0a5.971 5.971 0 0 0-.941-3.197m0 0A5.995 5.995 0 0 0 12 12.75a5.995 5.995 0 0 0-5.058 2.772m0 0a3 3 0 0 0-4.681 2.72 8.986 8.986 0 0 0 3.74.477m.94-3.197a5.971 5.971 0 0 0-.94 3.197M15 6.75a3 3 0 1 1-6 0 3 3 0 0 1 6 0Zm6 3a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Zm-13.5 0a2.25 2.25 0 1 1-4.5 0 2.25 2.25 0 0 1 4.5 0Z"}))),S=_;var L="__off__";function b(){let e=useParameter(d);return useMemo(()=>Array.isArray(e)?e:O,[e])}function p(){let[e,t]=useArgs(),r=u(e),n=b(),i=useCallback(a=>{t({[o]:a});},[t]),h=useMemo(()=>{let a=n.findIndex(({userAgent:s})=>s===r),f=n.map(({name:s,userAgent:R},m)=>({id:`${m}_${s}`,title:s,active:m===a,onClick:()=>i(R)}));return r&&a===-1&&f.push({id:"custom agent",title:"custom agent",active:true,onClick:()=>i(r)}),r&&f.unshift({id:L,title:"Reset (browser default)",active:false,onClick:()=>i("")}),f},[i,n,r]);return c.createElement(PopoverProvider,{placement:"bottom",ariaLabel:"User-Agent options",hasChrome:false,popover:c.createElement(TooltipLinkList,{links:h})},c.createElement(ToggleButton,{pressed:r.length>0,ariaLabel:"Change UserAgent",padding:"small",variant:"ghost"},c.createElement(S,null)))}p.displayName="UserAgentTool";addons.register(l,()=>{addons.add(A,{type:types.TOOL,title:g,paramKey:d,match:({viewMode:e})=>e==="story",render:p});});//# sourceMappingURL=manager.js.map
//# sourceMappingURL=manager.js.map