diff --git a/bestax-mcp/data/bulma-classes.json b/bestax-mcp/data/bulma-classes.json index 956330997..d97d7b2c6 100644 --- a/bestax-mcp/data/bulma-classes.json +++ b/bestax-mcp/data/bulma-classes.json @@ -18,6 +18,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -43,6 +44,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -96,6 +98,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -128,6 +131,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -163,6 +167,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -192,6 +197,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -217,6 +223,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -242,6 +249,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -267,6 +275,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -292,6 +301,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -317,6 +327,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -342,6 +353,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -446,6 +458,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1111,6 +1124,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1278,6 +1292,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1520,6 +1535,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1567,6 +1583,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1596,6 +1613,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1625,6 +1643,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1660,6 +1679,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1690,6 +1710,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -1715,6 +1736,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -1748,6 +1770,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -1793,6 +1816,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1839,6 +1863,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1893,6 +1918,7 @@ }, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1918,6 +1944,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1963,6 +1990,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -1988,6 +2016,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2013,6 +2042,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2038,6 +2068,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2063,6 +2094,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2088,6 +2120,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2113,6 +2146,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2138,6 +2172,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2163,6 +2198,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2188,6 +2224,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2213,6 +2250,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2238,6 +2276,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2279,6 +2318,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2304,6 +2344,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2329,6 +2370,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2354,6 +2396,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2379,6 +2422,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2404,6 +2448,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2432,6 +2477,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -2457,6 +2503,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -2493,6 +2540,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2532,6 +2580,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2560,6 +2609,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2611,6 +2661,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2642,6 +2693,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2684,6 +2736,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2713,6 +2766,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2765,6 +2819,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2810,6 +2865,7 @@ "absorbs": { "tag": "ul", "attributesOn": "element" }, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2835,6 +2891,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -2860,6 +2917,7 @@ "absorbs": null, "writes": [{ "prop": "variant", "value": "lines" }], "countsChildren": { "tag": "div", "prop": "lines" }, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -2885,6 +2943,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2910,6 +2969,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2935,6 +2995,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2960,6 +3021,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -2985,6 +3047,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3010,6 +3073,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3035,6 +3099,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3060,6 +3125,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3085,6 +3151,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3110,6 +3177,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3135,6 +3203,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3160,6 +3229,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3185,6 +3255,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3210,6 +3281,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3235,6 +3307,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3264,6 +3337,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3273,15 +3347,15 @@ "classNameReplaces": false }, "icon-text": { - "status": "todo", + "status": "mapped", "target": "IconText", - "tag": null, + "tag": "span", "as": null, "sizeDrivesTag": false, - "textColor": null, - "bgColor": null, + "textColor": "textColor", + "bgColor": "bgColor", "part": false, - "why": "bestax `IconText` pairs with `Icon`, which renders its own ``", + "why": null, "modifiers": {}, "omits": {}, "wrapsChildren": null, @@ -3289,6 +3363,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": true, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3345,6 +3420,7 @@ }, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3370,6 +3446,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3395,6 +3472,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3420,6 +3498,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": true, @@ -3459,6 +3538,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3484,6 +3564,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3509,6 +3590,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3534,6 +3616,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3559,6 +3642,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3584,6 +3668,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3609,6 +3694,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3634,6 +3720,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3659,6 +3746,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3684,6 +3772,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3709,6 +3798,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3734,6 +3824,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3759,6 +3850,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3784,6 +3876,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3809,6 +3902,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3852,6 +3946,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3877,6 +3972,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3904,6 +4000,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3931,6 +4028,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -3963,6 +4061,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -3988,6 +4087,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -4024,6 +4124,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4049,6 +4150,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -4074,6 +4176,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": null, "topLevelOnly": false, @@ -4099,6 +4202,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": true, "otherTagsStay": { "tags": ["label", "div"], @@ -4127,6 +4231,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4174,6 +4279,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4199,6 +4305,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4564,6 +4671,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4589,6 +4697,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4614,6 +4723,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4639,6 +4749,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4664,6 +4775,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4689,6 +4801,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4714,6 +4827,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4739,6 +4853,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4764,6 +4879,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4789,6 +4905,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4814,6 +4931,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4839,6 +4957,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4864,6 +4983,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, @@ -4889,6 +5009,7 @@ "absorbs": null, "writes": null, "countsChildren": null, + "buildsIcons": false, "noHelpers": false, "otherTagsStay": null, "topLevelOnly": false, diff --git a/bestax-mcp/data/skills.json b/bestax-mcp/data/skills.json index 9ac9ad413..340f04653 100644 --- a/bestax-mcp/data/skills.json +++ b/bestax-mcp/data/skills.json @@ -103,7 +103,7 @@ { "id": "bulma-classes-component-map", "file": "references/bulma-classes/component-map.md", - "bytes": 20298 + "bytes": 21772 }, { "id": "bulma-classes-prop-map", @@ -113,7 +113,7 @@ { "id": "bulma-classes-unmappables", "file": "references/bulma-classes/unmappables.md", - "bytes": 21787 + "bytes": 22365 }, { "id": "css-migration", diff --git a/bestax-mcp/src/__tests__/bulma-classes-agree.test.ts b/bestax-mcp/src/__tests__/bulma-classes-agree.test.ts index 648f9170c..29bafd92d 100644 --- a/bestax-mcp/src/__tests__/bulma-classes-agree.test.ts +++ b/bestax-mcp/src/__tests__/bulma-classes-agree.test.ts @@ -125,6 +125,38 @@ function planned(tag: string, tokens: string[]): Outcome { })); counted = counts.prop; } + // One that builds its icons from props holds an icon, planned the way + // the codemod plans it first, which the lookup states as a condition. + if (entry?.status === 'mapped' && entry.buildsIcons && !childElements) { + const glyph = { + tag: 'i', + tokens: ['fas', 'fa-home'], + attributes: new Map(), + hasSpread: false, + isEmpty: true, + }; + const iconAttributes = new Map([['aria-label', 'x']]); + const becomes = plan({ + tag: 'span', + tokens: ['icon'], + attributes: iconAttributes, + hasSpread: false, + hasRef: false, + hasChildren: true, + soleChild: glyph, + }).conversion; + childElements = [ + { + tag: 'span', + tokens: ['icon'], + attributes: iconAttributes, + hasSpread: false, + isEmpty: false, + ...(becomes && { becomes }), + soleChild: glyph, + }, + ]; + } } const result = plan({ tag, diff --git a/bestax-mcp/src/bulma-classes.ts b/bestax-mcp/src/bulma-classes.ts index b10e14100..307304e49 100644 --- a/bestax-mcp/src/bulma-classes.ts +++ b/bestax-mcp/src/bulma-classes.ts @@ -74,6 +74,11 @@ export interface RootRecord { * each a bare, empty ``. */ countsChildren: Counts | null; + /** + * The component builds its children from props: each `.icon` inside as an + * icon's props, and a bare `` of text after one as its text. + */ + buildsIcons: boolean; /** What each item in a list with this class becomes, found by where it sits. */ items: Items | null; /** The component renders a bare `` around the element too. */ @@ -177,6 +182,8 @@ export type Element = writes?: PropWrite[]; /** Renders the element's children itself, from a count. */ counts?: Counts; + /** Builds its icons from props, out of the element's children. */ + buildsIcons?: true; /** Renders this class only when no other of itself is around it. */ topLevel?: string; /** What each item inside it becomes. */ @@ -430,6 +437,7 @@ export function lookupClasses( absorbs: null, writes: null, countsChildren: null, + buildsIcons: false, items: null, parent: null, rendersText: null, @@ -628,6 +636,7 @@ export function lookupClasses( absorbs: entry.absorbs ?? undefined, writes: entry.writes ?? undefined, counts: entry.countsChildren ?? undefined, + buildsIcons: entry.buildsIcons || undefined, topLevel: entry.topLevelOnly && root ? root : undefined, items: entry.items ?? undefined, parent: entry.parent?.tag, @@ -777,6 +786,14 @@ export function renderLookup(lookup: Lookup): string { `\`${counts.prop}={N}\` and drop them. The codemod does that ` + `when they're all the element holds.` : '') + + (element.buildsIcons + ? ` It builds its icons from props: write each \`.icon\` inside as ` + + `one icon's props, its 's classes read as \`library\` and ` + + `\`name\` (\`fas fa-home\` as \`library: 'fa', name: 'home'\`) ` + + `and its \`aria-label\` as \`ariaLabel\`, with the bare of ` + + `text after it as its text. One icon goes in \`iconProps\`, with ` + + `its text as the children, and more than one in \`items\`.` + : '') + (element.topLevel ? ` It renders \`.${element.topLevel}\` only when no other ` + `\`${element.target}\` is around it, so one inside another ` + diff --git a/bestax-migrate/CLAUDE.md b/bestax-migrate/CLAUDE.md index 2c60697c6..a1435d1c9 100644 --- a/bestax-migrate/CLAUDE.md +++ b/bestax-migrate/CLAUDE.md @@ -99,7 +99,8 @@ is the one with no library behind it, converting raw Bulma classes on plain JSX. inside it in, a conversion, a fold into its only child (a `fold` wrapper such as `.table-container`) or a TODO out; an entry that `absorbs` its only child (`.select`'s `