{"version":3,"file":"host.cjs","sources":["../../src/lib/host.ts"],"sourcesContent":["import {\n  COLON,\n  type Element,\n  GREATER_THAN,\n  LEFT_SQUARE_BRACKET,\n  PLUS,\n  RIGHT_SQUARE_BRACKET,\n  RULESET,\n  SPACE,\n  TILDE,\n  Tokenizer,\n} from \"./stylis.ts\";\n\nconst _host = \"host\";\n\nexport const host = (element: Element): void => {\n  if (element.type === RULESET && element.parent?.value.startsWith(COLON + _host)) {\n    element.props = (element.props as string[]).map((item) => {\n      const tokens = new Tokenizer(item).tokenize();\n      let start: number | undefined,\n        end = tokens.length,\n        hasHost = false;\n      for (let index = 0; index < tokens.length; index++) {\n        const token = tokens[index];\n        switch (token) {\n          case COLON:\n            if (tokens.length > index + 2 && tokens[index + 1] === _host) {\n              const afterHostToken = tokens[index + 2];\n              if (\n                afterHostToken === COLON ||\n                (afterHostToken.startsWith(LEFT_SQUARE_BRACKET) &&\n                  afterHostToken.endsWith(RIGHT_SQUARE_BRACKET))\n              ) {\n                start = index + 2;\n                hasHost = true;\n              }\n            }\n            break;\n          case SPACE:\n          case GREATER_THAN:\n          case TILDE:\n          case PLUS:\n            if (hasHost) {\n              end = index;\n            }\n            break;\n        }\n      }\n      if (hasHost) {\n        return `:${_host}(${tokens.slice(start, end).join(\"\")})${tokens.slice(end).join(\"\")}`;\n      }\n      return item;\n    });\n  }\n};\n\nexport default host;\n"],"names":["_host","host","element","RULESET","COLON","tokens","Tokenizer","item","start: number | undefined","end","hasHost","index","token","afterHostToken","LEFT_SQUARE_BRACKET","RIGHT_SQUARE_BRACKET","SPACE","GREATER_THAN","TILDE","PLUS","start"],"mappings":"2IAaA,MAAMA,EAAQ,OAEDC,EAAQ,GAA2B,CAC1CC,EAAQ,OAASC,EAAAA,SAAWD,EAAQ,QAAQ,MAAM,WAAWE,QAAQJ,KACvE,EAAQ,MAASE,EAAQ,MAAmB,IAAK,GAAS,CACxD,IAAMG,EAAS,IAAIC,EAAAA,UAAUC,GAAM,WAC/BC,EACFC,EAAMJ,EAAO,OACbK,EAAU,GACZ,IAAK,IAAIC,EAAQ,EAAGA,EAAQN,EAAO,OAAQ,IAAS,CAClD,IAAMO,EAAQP,EAAOM,GACrB,OAAQC,EAAR,CACE,KAAKR,EAAAA,MACH,GAAIC,EAAO,OAASM,EAAQ,GAAKN,EAAOM,EAAQ,KAAOX,EAAO,CAC5D,IAAMa,EAAiBR,EAAOM,EAAQ,IAEpCE,IAAmBT,SAClBS,EAAe,WAAWC,EAAAA,sBACzBD,EAAe,SAASE,EAAAA,yBAE1B,EAAQJ,EAAQ,EAChB,EAAU,IAGd,MACF,KAAKK,EAAAA,MACL,KAAKC,EAAAA,aACL,KAAKC,EAAAA,MACL,KAAKC,EAAAA,KACCT,IACF,EAAMC,GAER,OAMN,OAHID,EACK,IAAIV,EAAM,GAAGK,EAAO,MAAMe,EAAOX,GAAK,KAAK,IAAI,GAAGJ,EAAO,MAAMI,GAAK,KAAK,MAE3EF"}