@yamada-ui/react
Version:
React UI components of the Yamada, by the Yamada, for the Yamada built with React and Emotion
1 lines • 2.34 kB
Source Map (JSON)
{"version":3,"file":"focus-ring.cjs","names":[],"sources":["../../../../src/core/css/focus-ring.ts"],"sourcesContent":["import type { CSSObject } from \"./index.types\"\nimport type { Transform } from \"./utils\"\n\nexport const focusRingStyle = {\n inline: {\n outlineOffset: \"{focus-ring-offset, -5px}\",\n outlineStyle: \"{focus-ring-style, solid}\",\n outlineWidth: \"{focus-ring-width, 1px}\",\n },\n inside: {\n borderColor: \"{focus-ring-color}\",\n boxShadow: \"inset 0 0 0 1px {focus-ring-color}\",\n outlineOffset: \"inherit\",\n outlineStyle: \"inherit\",\n outlineWidth: \"inherit\",\n },\n mixed: {\n borderColor: \"{focus-ring-color}\",\n outlineOffset: \"{focus-ring-offset, 0px}\",\n outlineStyle: \"{focus-ring-style, solid}\",\n outlineWidth: \"{focus-ring-width, 2px}\",\n },\n none: {\n outline: \"none\",\n },\n outline: {\n outlineOffset: \"{focus-ring-offset, 2px}\",\n outlineStyle: \"{focus-ring-style, solid}\",\n outlineWidth: \"{focus-ring-width, 2px}\",\n },\n outside: {\n borderColor: \"{focus-ring-color}\",\n boxShadow: \"0 0 0 1px {focus-ring-color}\",\n outlineOffset: \"inherit\",\n outlineStyle: \"inherit\",\n outlineWidth: \"inherit\",\n },\n} satisfies { [key: string]: CSSObject }\n\nexport function generateFocusRing(selector: string): Transform {\n return function (value, { prev }) {\n const focusRingColor =\n prev?.[\"--focus-ring-color\"] ?? \"{colorScheme.outline}\"\n\n const result = {\n \"--focus-ring-color\": focusRingColor,\n outlineColor: \"{focus-ring-color}\",\n [selector]: {\n ...(value in focusRingStyle\n ? focusRingStyle[value as keyof typeof focusRingStyle]\n : focusRingStyle.none),\n },\n }\n\n return result\n }\n}\n"],"mappings":";;AAGA,MAAa,iBAAiB;CAC5B,QAAQ;EACN,eAAe;EACf,cAAc;EACd,cAAc;EACf;CACD,QAAQ;EACN,aAAa;EACb,WAAW;EACX,eAAe;EACf,cAAc;EACd,cAAc;EACf;CACD,OAAO;EACL,aAAa;EACb,eAAe;EACf,cAAc;EACd,cAAc;EACf;CACD,MAAM,EACJ,SAAS,QACV;CACD,SAAS;EACP,eAAe;EACf,cAAc;EACd,cAAc;EACf;CACD,SAAS;EACP,aAAa;EACb,WAAW;EACX,eAAe;EACf,cAAc;EACd,cAAc;EACf;CACF;AAED,SAAgB,kBAAkB,UAA6B;AAC7D,QAAO,SAAU,OAAO,EAAE,QAAQ;EAChC,MAAM,iBACJ,OAAO,yBAAyB;AAYlC,SAVe;GACb,sBAAsB;GACtB,cAAc;IACb,WAAW,EACV,GAAI,SAAS,iBACT,eAAe,SACf,eAAe,MACpB;GACF"}