{"version":3,"file":"linearGradientControls.mjs","names":[],"sources":["../../extensions/linear_gradient_controls/linearGradientControls.ts"],"sourcesContent":["import type { Gradient } from 'fabric';\nimport { Control, controlsUtils } from 'fabric';\nimport {\n  linearGradientColorActionHandlerGenerator,\n  linearGradientColorPositionHandlerGenerator,\n  linearGradientControlLineRender,\n  linearGradientCoordPositionHandlerGenerator,\n  linearGradientCoordsActionHandlerGenerator,\n} from './linearGradientHandlers';\n\nexport function createLinearGradientControls(\n  gradient: Gradient<'linear'>,\n  options: Partial<Control> = {},\n): Record<string, Control> {\n  const controls = {} as Record<string, Control>;\n  controls[`lgp_1`] = new Control({\n    ...options,\n    positionHandler: linearGradientCoordPositionHandlerGenerator(gradient, 1),\n    actionHandler: linearGradientCoordsActionHandlerGenerator(gradient, 1),\n    render: linearGradientControlLineRender(gradient),\n  });\n  gradient.colorStops.forEach((colorStop, index) => {\n    controls[`lgo_${index}`] = new Control({\n      ...options,\n      positionHandler: linearGradientColorPositionHandlerGenerator(\n        gradient,\n        index,\n      ),\n      actionHandler: linearGradientColorActionHandlerGenerator(gradient, index),\n    });\n  });\n\n  controls[`lgp_2`] = new Control({\n    ...options,\n    positionHandler: linearGradientCoordPositionHandlerGenerator(gradient, 2),\n    actionHandler: linearGradientCoordsActionHandlerGenerator(gradient, 2),\n    render: controlsUtils.renderCircleControl,\n  });\n  return controls;\n}\n"],"mappings":";;;AAUA,SAAgB,6BACd,UACA,UAA4B,EAAE,EACL;CACzB,MAAM,WAAW,EAAE;AACnB,UAAS,WAAW,IAAI,QAAQ;EAC9B,GAAG;EACH,iBAAiB,4CAA4C,UAAU,EAAE;EACzE,eAAe,2CAA2C,UAAU,EAAE;EACtE,QAAQ,gCAAgC,SAAS;EAClD,CAAC;AACF,UAAS,WAAW,SAAS,WAAW,UAAU;AAChD,WAAS,OAAO,WAAW,IAAI,QAAQ;GACrC,GAAG;GACH,iBAAiB,4CACf,UACA,MACD;GACD,eAAe,0CAA0C,UAAU,MAAM;GAC1E,CAAC;GACF;AAEF,UAAS,WAAW,IAAI,QAAQ;EAC9B,GAAG;EACH,iBAAiB,4CAA4C,UAAU,EAAE;EACzE,eAAe,2CAA2C,UAAU,EAAE;EACtE,QAAQ,cAAc;EACvB,CAAC;AACF,QAAO"}