MCPcopy Create free account
hub / github.com/formkit/formkit / generateClassList

Function generateClassList

packages/core/src/classes.ts:56–76  ·  view source on GitHub ↗
(
  node: FormKitNode,
  property: string,
  ...args: Record<string, boolean>[]
)

Source from the content-addressed store, hash-verified

54 * @public
55 */
56export function generateClassList(
57 node: FormKitNode,
58 property: string,
59 ...args: Record<string, boolean>[]
60): string | null {
61 const combinedClassList = args.reduce((finalClassList, currentClassList) => {
62 if (!currentClassList) return handleNegativeClasses(finalClassList)
63 const { $reset, ...classList } = currentClassList
64 if ($reset) {
65 return handleNegativeClasses(classList)
66 }
67 return handleNegativeClasses(Object.assign(finalClassList, classList))
68 }, {})
69
70 return Object.keys(
71 node.hook.classes.dispatch({ property, classes: combinedClassList })
72 .classes
73 )
74 .filter((key) => combinedClassList[key])
75 .join(' ') || null
76}
77
78function handleNegativeClasses(classList: Record<string, boolean>): Record<string, boolean> {
79 const removalToken = '$remove:'

Callers 4

getFunction · 0.90
classes.spec.tsFile · 0.90
node.spec.tsFile · 0.90
getFunction · 0.90

Calls 1

handleNegativeClassesFunction · 0.85

Tested by

no test coverage detected