Skip to content

Function: splitPartArg()

ts
function splitPartArg(rest): object;

Defined in: packages/core/src/grammar.ts:737

Parse a @part argument into its selector, derived name, and optional description. Handles class (.foo), attribute ([foo="bar"]), ID (#foo), :host, :host-context(…), descendant chains (A > B > C), and an optional author alias. For chained selectors the derived name comes from the final compound.

Parameters

rest

string

Returns

object

description?

ts
optional description?: string;

name

ts
name: string;

selector

ts
selector: string;

Examples

ts
`@part [data-layout="x"] container — Desc``{ selector: "[data-layout=\"x\"]", name: "container", description: "Desc" }`
ts
`@part [data-layout="x"] — Desc``{ selector: "[data-layout=\"x\"]", name: "data-layout", description: "Desc" }`
ts
`@part .item — Desc``{ selector: ".item", name: "item", description: "Desc" }`
ts
`@part A > B > C alias — Desc``{ selector: "A > B > C", name: "alias", description: "Desc" }`
ts
`@part A > B > C — Desc``{ selector: "A > B > C", name: "<derived from C>", description: "Desc" }`

Released under the MIT License