From 5a2aaf3601b6b050603f51e487a31fb07862a21f Mon Sep 17 00:00:00 2001 From: Maze Winther Date: Mon, 13 Apr 2026 04:40:48 +0200 Subject: feat: cinematic bars, diamond, heart, and star masks Made-with: Cursor --- apps/web/src/lib/masks/definitions/index.ts | 102 +++++++++++++++++----------- 1 file changed, 63 insertions(+), 39 deletions(-) (limited to 'apps/web/src/lib/masks/definitions/index.ts') diff --git a/apps/web/src/lib/masks/definitions/index.ts b/apps/web/src/lib/masks/definitions/index.ts index 49404ce1..c078ef60 100644 --- a/apps/web/src/lib/masks/definitions/index.ts +++ b/apps/web/src/lib/masks/definitions/index.ts @@ -1,39 +1,63 @@ -import type { BaseMaskParams, MaskDefinition } from "@/lib/masks/types"; -import { masksRegistry, type MaskIconProps } from "../registry"; -import { ellipseMaskDefinition } from "./ellipse"; -import { rectangleMaskDefinition } from "./rectangle"; -import { splitMaskDefinition } from "./split"; -import { - PanelRightDashedIcon, - SquareIcon, - CircleIcon, -} from "@hugeicons/core-free-icons"; - -function registerDefaultMask({ - definition, - icon, -}: { - definition: MaskDefinition; - icon: MaskIconProps; -}) { - if (masksRegistry.has(definition.type)) { - return; - } - - masksRegistry.registerMask({ definition, icon }); -} - -export function registerDefaultMasks(): void { - registerDefaultMask({ - definition: splitMaskDefinition, - icon: { icon: PanelRightDashedIcon, strokeWidth: 1 }, - }); - registerDefaultMask({ - definition: rectangleMaskDefinition, - icon: { icon: SquareIcon }, - }); - registerDefaultMask({ - definition: ellipseMaskDefinition, - icon: { icon: CircleIcon }, - }); -} +import type { BaseMaskParams, MaskDefinition } from "@/lib/masks/types"; +import { masksRegistry, type MaskIconProps } from "../registry"; +import { cinematicBarsMaskDefinition } from "./cinematic-bars"; +import { diamondMaskDefinition } from "./diamond"; +import { ellipseMaskDefinition } from "./ellipse"; +import { heartMaskDefinition } from "./heart"; +import { rectangleMaskDefinition } from "./rectangle"; +import { splitMaskDefinition } from "./split"; +import { starMaskDefinition } from "./star"; +import { + MinusSignIcon, + PanelRightDashedIcon, + SquareIcon, + CircleIcon, + FavouriteIcon, + DiamondIcon, + StarsIcon, +} from "@hugeicons/core-free-icons"; + +function registerDefaultMask({ + definition, + icon, +}: { + definition: MaskDefinition; + icon: MaskIconProps; +}) { + if (masksRegistry.has(definition.type)) { + return; + } + + masksRegistry.registerMask({ definition, icon }); +} + +export function registerDefaultMasks(): void { + registerDefaultMask({ + definition: splitMaskDefinition, + icon: { icon: PanelRightDashedIcon, strokeWidth: 1 }, + }); + registerDefaultMask({ + definition: cinematicBarsMaskDefinition, + icon: { icon: MinusSignIcon }, + }); + registerDefaultMask({ + definition: rectangleMaskDefinition, + icon: { icon: SquareIcon }, + }); + registerDefaultMask({ + definition: ellipseMaskDefinition, + icon: { icon: CircleIcon }, + }); + registerDefaultMask({ + definition: heartMaskDefinition, + icon: { icon: FavouriteIcon }, + }); + registerDefaultMask({ + definition: diamondMaskDefinition, + icon: { icon: DiamondIcon }, + }); + registerDefaultMask({ + definition: starMaskDefinition, + icon: { icon: StarsIcon }, + }); +} -- cgit v1.3.1