react-color-strip
Version:
🎨 A minimal horizontal color picker strip component for React with draggable pointer support.
1 lines • 9.04 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../src/lib/utils.ts","../node_modules/style-inject/dist/style-inject.es.js","../src/components/ColorStrip.tsx"],"sourcesContent":[null,"function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n",null],"names":["hslToRgb","h","s","l","hue2rgb","p","q","t","r","g","b","Math","round","rgbToHsl","max","min","d","rgbToHex","toHex","n","hex","toString","length","hexToRgb","result","exec","parseInt","createColorFromHue","hue","rgb","hsl","getHueFromColor","color","startsWith","rgbMatch","match","hslMatch","parseColor","mixColors","from","to","fromRGB","toRGB","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","ColorStrip","value","width","height","disabled","pointer","customColor","rounded","onChange","onChangeComplete","pointerWidth","pointerHeight","backgroundColor","border","borderRadius","boxShadow","scaleOnDrag","dragScale","stripRef","useRef","canvasRef","isDragging","setIsDragging","useState","currentHue","setCurrentHue","positionRatio","setPositionRatio","useEffect","canvas","current","ctx","getContext","gradient","createLinearGradient","addColorStop","i","fillStyle","fillRect","newHue","getColorFromPosition","x","ratio","mid","mixedHex","pointerStyle","left","transform","filter","Boolean","join","pointerEvents","opacity","_jsxs","className","cursor","onPointerDown","e","preventDefault","rect","getBoundingClientRect","clientX","target","setPointerCapture","pointerId","onPointerMove","onPointerUp","releasePointerCapture","onKeyDown","newRatio","key","tabIndex","role","children","_jsx"],"mappings":"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","x_google_ignoreList":[1]}