{"version":3,"file":"Feather.Xpal0V-E.mjs","names":["iconKeys","lowercaseIconKeyPairs","React"],"sources":["https:/framer.com/m/framer/icon-nullstate.js@0.7.0","https:/framer.com/m/feather-icons/home.js@0.0.29","https:/framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js","https:/framerusercontent.com/modules/f0DboytQenYh21kfme7W/zb1zVBMZJKgPMiedOi0y/Feather.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as React from \"react\";\nexport const containerStyles = {\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nconst nullIconStyle = {\n    minWidth: \"10px\",\n    minHeight: \"10px\",\n    maxWidth: \"20px\",\n    maxHeight: \"20px\",\n    width: \"60%\",\n    height: \"60%\"\n};\nconst emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(149, 149, 149, 0.1)\",\n    border: \"1px dashed rgba(149, 149, 149, 0.15)\",\n    color: \"#a5a5a5\",\n    flexDirection: \"column\"\n};\nexport const NullState = /*#__PURE__*/ React.forwardRef((_, ref)=>{\n    return(/*#__PURE__*/ _jsx(\"div\", {\n        style: emptyStateStyle,\n        ref: ref\n    }));\n}) /*\n\n<svg\n                xmlns=\"http://www.w3.org/2000/svg\"\n                viewBox=\"0 0 30 30\"\n                style={nullIconStyle}\n            >\n                <path\n                    d=\"M 12.857 0 C 19.958 0 25.714 5.756 25.714 12.857 C 25.714 19.958 19.958 25.714 12.857 25.714 C 5.756 25.714 0 19.958 0 12.857 C 0 5.756 5.756 0 12.857 0 Z\"\n                    fill=\"#FFFFFF\"\n                ></path>\n                <path\n                    d=\"M 20.357 20.357 L 27.857 27.857\"\n                    fill=\"transparent\"\n                    strokeWidth=\"4.28\"\n                    stroke=\"#FFFFFF\"\n                    strokeLinecap=\"round\"\n                ></path>\n                <g transform=\"translate(9.643 6.429)\">\n                    <path\n                        d=\"M 3.214 12.857 L 3.214 12.857\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.75\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                    ></path>\n                    <path\n                        d=\"M 0 3.214 C 0 1.004 1.843 0 3.214 0 C 4.586 0 6.429 0.603 6.429 3.214 C 6.429 5.826 3.214 5.913 3.214 7.232 C 3.214 8.552 3.214 8.571 3.214 8.571\"\n                        fill=\"transparent\"\n                        strokeWidth=\"3.22\"\n                        stroke=\"currentColor\"\n                        strokeLinecap=\"round\"\n                        strokeLinejoin=\"round\"\n                    ></path>\n                </g>\n            </svg>\n            */ ;\n\nexport const __FramerMetadata__ = {\"exports\":{\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"NullState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./nullstate.map","let r;var s=o=>{if(!r){const n=o.forwardRef(({color:t=\"currentColor\",size:e=24,...i},l)=>o.createElement(\"svg\",{ref:l,xmlns:\"http://www.w3.org/2000/svg\",width:e,height:e,viewBox:\"0 0 24 24\",fill:\"none\",stroke:t,strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\",...i},o.createElement(\"path\",{d:\"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"}),o.createElement(\"polyline\",{points:\"9 22 9 12 15 12 15 22\"})));n.displayName=\"Home\",r=n}return r};export{s as default};\n","import{useMemo}from\"react\";import{ControlType}from\"framer\";/*\n ** ICON UTILS\n ** Pull as much re-usable logic into here as possible\n ** This will make it easier to replace in all icon components\n */ export const containerStyles={width:\"100%\",height:\"100%\",display:\"flex\",justifyContent:\"center\",alignItems:\"center\"};export const defaultEvents={onClick:{type:ControlType.EventHandler},onMouseDown:{type:ControlType.EventHandler},onMouseUp:{type:ControlType.EventHandler},onMouseEnter:{type:ControlType.EventHandler},onMouseLeave:{type:ControlType.EventHandler}};const findByArray=(arr,search)=>arr.find(a=>a.toLowerCase().includes(search));export function getIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// gotta get the exact match first THEN find\n// have a set and try to access ?\nif(selectByList)return iconSelection;if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;}export function useIconSelection(iconKeys,selectByList,iconSearch=\"\",iconSelection,lowercaseIconKeyPairs){// Clean search term\nconst iconSearchResult=useMemo(()=>{if(iconSearch==null||(iconSearch===null||iconSearch===void 0?void 0:iconSearch.length)===0)return null;const iconSearchTerm=iconSearch.toLowerCase().replace(/-|\\s/g,\"\");var _iconSearchTerm;// check for exact match, otherwise use .find\nconst searchResult=(_iconSearchTerm=lowercaseIconKeyPairs[iconSearchTerm])!==null&&_iconSearchTerm!==void 0?_iconSearchTerm:findByArray(iconKeys,iconSearchTerm);return searchResult;},[iconSelection,iconSearch]);const name=selectByList?iconSelection:iconSearchResult;return name;}\nexport const __FramerMetadata__ = {\"exports\":{\"getIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIconSelection\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./utils.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";import{useState,useEffect,useRef}from\"react\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{NullState}from\"https://framer.com/m/framer/icon-nullstate.js@0.7.0\";import HomeFactory from\"https://framer.com/m/feather-icons/home.js@0.0.29\";import{defaultEvents,useIconSelection}from\"https://framerusercontent.com/modules/Ma20hU0GGRxLxZphbywl/OSpwWF91FHPVFyQJjMHt/utils.js\";export const iconKeys=[\"activity\",\"airplay\",\"alert-circle\",\"alert-octagon\",\"alert-triangle\",\"align-center\",\"align-justify\",\"align-left\",\"align-right\",\"anchor\",\"aperture\",\"archive\",\"arrow-down\",\"arrow-down-circle\",\"arrow-down-left\",\"arrow-down-right\",\"arrow-left\",\"arrow-left-circle\",\"arrow-right\",\"arrow-right-circle\",\"arrow-up\",\"arrow-up-circle\",\"arrow-up-left\",\"arrow-up-right\",\"at-sign\",\"award\",\"bar-chart\",\"bar-chart-2\",\"battery\",\"battery-charging\",\"bell\",\"bell-off\",\"bluetooth\",\"bold\",\"book\",\"book-open\",\"bookmark\",\"box\",\"briefcase\",\"calendar\",\"camera\",\"camera-off\",\"cast\",\"check\",\"check-circle\",\"check-square\",\"chevron-down\",\"chevron-left\",\"chevron-right\",\"chevron-up\",\"chevrons-down\",\"chevrons-left\",\"chevrons-right\",\"chevrons-up\",\"chrome\",\"circle\",\"clipboard\",\"clock\",\"cloud\",\"cloud-drizzle\",\"cloud-lightning\",\"cloud-off\",\"cloud-rain\",\"cloud-snow\",\"code\",\"codepen\",\"codesandbox\",\"coffee\",\"columns\",\"command\",\"compass\",\"copy\",\"corner-down-left\",\"corner-down-right\",\"corner-left-down\",\"corner-left-up\",\"corner-right-down\",\"corner-right-up\",\"corner-up-left\",\"corner-up-right\",\"cpu\",\"credit-card\",\"crop\",\"crosshair\",\"database\",\"delete\",\"disc\",\"divide\",\"divide-circle\",\"divide-square\",\"dollar-sign\",\"download\",\"download-cloud\",\"dribbble\",\"droplet\",\"edit\",\"edit-2\",\"edit-3\",\"external-link\",\"eye\",\"eye-off\",\"facebook\",\"fast-forward\",\"feather\",\"figma\",\"file\",\"file-minus\",\"file-plus\",\"file-text\",\"film\",\"filter\",\"flag\",\"folder\",\"folder-minus\",\"folder-plus\",\"framer\",\"frown\",\"gift\",\"git-branch\",\"git-commit\",\"git-merge\",\"git-pull-request\",\"github\",\"gitlab\",\"globe\",\"grid\",\"hard-drive\",\"hash\",\"headphones\",\"heart\",\"help-circle\",\"hexagon\",\"home\",\"image\",\"inbox\",\"info\",\"instagram\",\"italic\",\"key\",\"layers\",\"layout\",\"life-buoy\",\"link\",\"link-2\",\"linkedin\",\"list\",\"loader\",\"lock\",\"log-in\",\"log-out\",\"mail\",\"map\",\"map-pin\",\"maximize\",\"maximize-2\",\"meh\",\"menu\",\"message-circle\",\"message-square\",\"mic\",\"mic-off\",\"minimize\",\"minimize-2\",\"minus\",\"minus-circle\",\"minus-square\",\"monitor\",\"moon\",\"more-horizontal\",\"more-vertical\",\"mouse-pointer\",\"move\",\"music\",\"navigation\",\"navigation-2\",\"octagon\",\"package\",\"paperclip\",\"pause\",\"pause-circle\",\"pen-tool\",\"percent\",\"phone\",\"phone-call\",\"phone-forwarded\",\"phone-incoming\",\"phone-missed\",\"phone-off\",\"phone-outgoing\",\"pie-chart\",\"play\",\"play-circle\",\"plus\",\"plus-circle\",\"plus-square\",\"pocket\",\"power\",\"printer\",\"radio\",\"refresh-ccw\",\"refresh-cw\",\"repeat\",\"rewind\",\"rotate-ccw\",\"rotate-cw\",\"rss\",\"save\",\"scissors\",\"search\",\"send\",\"server\",\"settings\",\"share\",\"share-2\",\"shield\",\"shield-off\",\"shopping-bag\",\"shopping-cart\",\"shuffle\",\"sidebar\",\"skip-back\",\"skip-forward\",\"slack\",\"slash\",\"sliders\",\"smartphone\",\"smile\",\"speaker\",\"square\",\"star\",\"stop-circle\",\"sun\",\"sunrise\",\"sunset\",\"tablet\",\"tag\",\"target\",\"terminal\",\"thermometer\",\"thumbs-down\",\"thumbs-up\",\"toggle-left\",\"toggle-right\",\"tool\",\"trash\",\"trash-2\",\"trello\",\"trending-down\",\"trending-up\",\"triangle\",\"truck\",\"tv\",\"twitch\",\"twitter\",\"type\",\"umbrella\",\"underline\",\"unlock\",\"upload\",\"upload-cloud\",\"user\",\"user-check\",\"user-minus\",\"user-plus\",\"user-x\",\"users\",\"video\",\"video-off\",\"voicemail\",\"volume\",\"volume-1\",\"volume-2\",\"volume-x\",\"watch\",\"wifi\",\"wifi-off\",\"wind\",\"x\",\"x-circle\",\"x-octagon\",\"x-square\",\"youtube\",\"zap\",\"zap-off\",\"zoom-in\",\"zoom-out\",];const moduleBaseUrl=\"https://framer.com/m/feather-icons/\";const uppercaseIconKeys=iconKeys.map(name=>name.charAt(0).toUpperCase()+name.slice(1));const lowercaseIconKeyPairs=iconKeys.reduce((res,key)=>{res[key.toLowerCase()]=key;return res;},{});/**\n * FEATHER\n *\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n */ export function Icon(props){const{color,selectByList,iconSearch,iconSelection,onClick,onMouseDown,onMouseUp,onMouseEnter,onMouseLeave,mirrored}=props;const isMounted=useRef(false);const iconKey=useIconSelection(iconKeys,selectByList,iconSearch,iconSelection,lowercaseIconKeyPairs);// Selected Icon Module\nconst[SelectedIcon,setSelectedIcon]=useState(iconKey===\"Home\"?HomeFactory(React):null);// Import the selected module or reset so null state\nasync function importModule(){let active=true;// Get the selected module\ntry{const iconModuleUrl=`${moduleBaseUrl}${iconKey}.js@0.0.29`;const module=await import(/* webpackIgnore: true */ iconModuleUrl);// console.log(module.default)\nif(active)setSelectedIcon(module.default(React));}catch(e){console.log(e);if(active)setSelectedIcon(null);}return()=>{active=false;};}// Import module when new style or icon is selected\nuseEffect(()=>{importModule();},[iconKey]);const isOnCanvas=RenderTarget.current()===RenderTarget.canvas;const emptyState=isOnCanvas?/*#__PURE__*/ _jsx(NullState,{}):null;return /*#__PURE__*/ _jsx(\"div\",{style:{display:\"contents\"},onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,children:SelectedIcon?/*#__PURE__*/ _jsx(SelectedIcon,{style:{width:\"100%\",height:\"100%\",transform:mirrored?\"scale(-1, 1)\":undefined},color:color}):emptyState});}Icon.displayName=\"Feather\";Icon.defaultProps={width:24,height:24,iconSelection:\"home\",iconSearch:\"Home\",color:\"#66F\",selectByList:true,mirrored:false};addPropertyControls(Icon,{selectByList:{type:ControlType.Boolean,title:\"Select\",enabledTitle:\"List\",disabledTitle:\"Search\",defaultValue:Icon.defaultProps.selectByList},iconSelection:{type:ControlType.Enum,options:iconKeys,optionTitles:uppercaseIconKeys,defaultValue:Icon.defaultProps.iconSelection,title:\"Name\",hidden:({selectByList})=>!selectByList,description:\"Find every icon name on the [Feather site](https://feathericons.com/)\"},iconSearch:{type:ControlType.String,title:\"Name\",placeholder:\"Menu, Wifi, Box…\",hidden:({selectByList})=>selectByList},mirrored:{type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",defaultValue:Icon.defaultProps.mirrored},color:{type:ControlType.Color,title:\"Color\",defaultValue:Icon.defaultProps.color},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"iconKeys\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"Icon\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicHeight\":\"24\",\"framerContractVersion\":\"1\",\"framerIntrinsicWidth\":\"24\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"IconProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Feather.map"],"mappings":"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"}