boss-css 0.0.13 → 0.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +146 -1
- package/dist/ai/server.cjs +1 -0
- package/dist/ai/server.mjs +1 -0
- package/dist/ai/skills.cjs +3 -0
- package/dist/ai/skills.mjs +3 -0
- package/dist/cli/tasks/init.cjs +43 -21
- package/dist/cli/tasks/init.mjs +43 -21
- package/dist/cli/templates/init.cjs +5 -5
- package/dist/cli/templates/init.mjs +5 -5
- package/dist/compile/jsx.cjs +4 -2
- package/dist/compile/jsx.mjs +4 -2
- package/dist/devtools-app/index.mjs +320 -0
- package/dist/devtools-app/monaco/vs/_commonjsHelpers-CT9FvmAN.js +1 -0
- package/dist/devtools-app/monaco/vs/abap-D-t0cyap.js +1 -0
- package/dist/devtools-app/monaco/vs/apex-CcIm7xu6.js +1 -0
- package/dist/devtools-app/monaco/vs/assets/css.worker-HnVq6Ewq.js +93 -0
- package/dist/devtools-app/monaco/vs/assets/editor.worker-Be8ye1pW.js +26 -0
- package/dist/devtools-app/monaco/vs/assets/html.worker-B51mlPHg.js +470 -0
- package/dist/devtools-app/monaco/vs/assets/json.worker-DKiEKt88.js +58 -0
- package/dist/devtools-app/monaco/vs/assets/ts.worker-CMbG-7ft.js +67731 -0
- package/dist/devtools-app/monaco/vs/azcli-BA0tQDCg.js +1 -0
- package/dist/devtools-app/monaco/vs/basic-languages/monaco.contribution.js +1 -0
- package/dist/devtools-app/monaco/vs/bat-C397hTD6.js +1 -0
- package/dist/devtools-app/monaco/vs/bicep-DF5aW17k.js +2 -0
- package/dist/devtools-app/monaco/vs/cameligo-plsz8qhj.js +1 -0
- package/dist/devtools-app/monaco/vs/clojure-Y2auQMzK.js +1 -0
- package/dist/devtools-app/monaco/vs/coffee-Bu45yuWE.js +1 -0
- package/dist/devtools-app/monaco/vs/cpp-CkKPQIni.js +1 -0
- package/dist/devtools-app/monaco/vs/csharp-CX28MZyh.js +1 -0
- package/dist/devtools-app/monaco/vs/csp-D8uWnyxW.js +1 -0
- package/dist/devtools-app/monaco/vs/css-CaeNmE3S.js +3 -0
- package/dist/devtools-app/monaco/vs/cssMode-CjiAH6dQ.js +1 -0
- package/dist/devtools-app/monaco/vs/cypher-DVThT8BS.js +1 -0
- package/dist/devtools-app/monaco/vs/dart-CmGfCvrO.js +1 -0
- package/dist/devtools-app/monaco/vs/dockerfile-CZqqYdch.js +1 -0
- package/dist/devtools-app/monaco/vs/ecl-30fUercY.js +1 -0
- package/dist/devtools-app/monaco/vs/editor/editor.main.css +1 -0
- package/dist/devtools-app/monaco/vs/editor/editor.main.js +5 -0
- package/dist/devtools-app/monaco/vs/editor.api-CalNCsUg.js +903 -0
- package/dist/devtools-app/monaco/vs/elixir-xjPaIfzF.js +1 -0
- package/dist/devtools-app/monaco/vs/flow9-DqtmStfK.js +1 -0
- package/dist/devtools-app/monaco/vs/freemarker2-Cz_sV6Md.js +3 -0
- package/dist/devtools-app/monaco/vs/fsharp-BOMdg4U1.js +1 -0
- package/dist/devtools-app/monaco/vs/go-D_hbi-Jt.js +1 -0
- package/dist/devtools-app/monaco/vs/graphql-CKUU4kLG.js +1 -0
- package/dist/devtools-app/monaco/vs/handlebars-OwglfO-1.js +1 -0
- package/dist/devtools-app/monaco/vs/hcl-DTaboeZW.js +1 -0
- package/dist/devtools-app/monaco/vs/html-Pa1xEWsY.js +1 -0
- package/dist/devtools-app/monaco/vs/htmlMode-Bz67EXwp.js +1 -0
- package/dist/devtools-app/monaco/vs/ini-CsNwO04R.js +1 -0
- package/dist/devtools-app/monaco/vs/java-CI4ZMsH9.js +1 -0
- package/dist/devtools-app/monaco/vs/javascript-PczUCGdz.js +1 -0
- package/dist/devtools-app/monaco/vs/jsonMode-DULH5oaX.js +7 -0
- package/dist/devtools-app/monaco/vs/julia-BwzEvaQw.js +1 -0
- package/dist/devtools-app/monaco/vs/kotlin-IUYPiTV8.js +1 -0
- package/dist/devtools-app/monaco/vs/language/css/monaco.contribution.js +1 -0
- package/dist/devtools-app/monaco/vs/language/html/monaco.contribution.js +1 -0
- package/dist/devtools-app/monaco/vs/language/json/monaco.contribution.js +1 -0
- package/dist/devtools-app/monaco/vs/language/typescript/monaco.contribution.js +1 -0
- package/dist/devtools-app/monaco/vs/less-C0eDYdqa.js +2 -0
- package/dist/devtools-app/monaco/vs/lexon-iON-Kj97.js +1 -0
- package/dist/devtools-app/monaco/vs/liquid-DqKjdPGy.js +1 -0
- package/dist/devtools-app/monaco/vs/loader.js +1368 -0
- package/dist/devtools-app/monaco/vs/lspLanguageFeatures-kM9O9rjY.js +4 -0
- package/dist/devtools-app/monaco/vs/lua-DtygF91M.js +1 -0
- package/dist/devtools-app/monaco/vs/m3-CsR4AuFi.js +1 -0
- package/dist/devtools-app/monaco/vs/markdown-C_rD0bIw.js +1 -0
- package/dist/devtools-app/monaco/vs/mdx-DEWtB1K5.js +1 -0
- package/dist/devtools-app/monaco/vs/mips-CiYP61RB.js +1 -0
- package/dist/devtools-app/monaco/vs/monaco.contribution-D2OdxNBt.js +1 -0
- package/dist/devtools-app/monaco/vs/monaco.contribution-DO3azKX8.js +1 -0
- package/dist/devtools-app/monaco/vs/monaco.contribution-EcChJV6a.js +1 -0
- package/dist/devtools-app/monaco/vs/monaco.contribution-qLAYrEOP.js +1 -0
- package/dist/devtools-app/monaco/vs/msdax-C38-sJlp.js +1 -0
- package/dist/devtools-app/monaco/vs/mysql-CdtbpvbG.js +1 -0
- package/dist/devtools-app/monaco/vs/nls.messages-loader.js +1 -0
- package/dist/devtools-app/monaco/vs/nls.messages.cs.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.de.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.es.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.fr.js.js +15 -0
- package/dist/devtools-app/monaco/vs/nls.messages.it.js.js +15 -0
- package/dist/devtools-app/monaco/vs/nls.messages.ja.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.js.js +10 -0
- package/dist/devtools-app/monaco/vs/nls.messages.ko.js.js +25 -0
- package/dist/devtools-app/monaco/vs/nls.messages.pl.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.pt-br.js.js +6 -0
- package/dist/devtools-app/monaco/vs/nls.messages.ru.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.tr.js.js +15 -0
- package/dist/devtools-app/monaco/vs/nls.messages.zh-cn.js.js +17 -0
- package/dist/devtools-app/monaco/vs/nls.messages.zh-tw.js.js +15 -0
- package/dist/devtools-app/monaco/vs/objective-c-CntZFaHX.js +1 -0
- package/dist/devtools-app/monaco/vs/pascal-r6kuqfl_.js +1 -0
- package/dist/devtools-app/monaco/vs/pascaligo-BiXoTmXh.js +1 -0
- package/dist/devtools-app/monaco/vs/perl-DABw_TcH.js +1 -0
- package/dist/devtools-app/monaco/vs/pgsql-me_jFXeX.js +1 -0
- package/dist/devtools-app/monaco/vs/php-D_kh-9LK.js +1 -0
- package/dist/devtools-app/monaco/vs/pla-VfZjczW0.js +1 -0
- package/dist/devtools-app/monaco/vs/postiats-BBSzz8Pk.js +1 -0
- package/dist/devtools-app/monaco/vs/powerquery-Dt-g_2cc.js +1 -0
- package/dist/devtools-app/monaco/vs/powershell-B-7ap1zc.js +1 -0
- package/dist/devtools-app/monaco/vs/protobuf-BmtuEB1A.js +2 -0
- package/dist/devtools-app/monaco/vs/pug-BRpRNeEb.js +1 -0
- package/dist/devtools-app/monaco/vs/python-Cr0UkIbn.js +1 -0
- package/dist/devtools-app/monaco/vs/qsharp-BzsFaUU9.js +1 -0
- package/dist/devtools-app/monaco/vs/r-f8dDdrp4.js +1 -0
- package/dist/devtools-app/monaco/vs/razor-BYAHOTkz.js +1 -0
- package/dist/devtools-app/monaco/vs/redis-fvZQY4PI.js +1 -0
- package/dist/devtools-app/monaco/vs/redshift-45Et0LQi.js +1 -0
- package/dist/devtools-app/monaco/vs/restructuredtext-C7UUFKFD.js +1 -0
- package/dist/devtools-app/monaco/vs/ruby-CZO8zYTz.js +1 -0
- package/dist/devtools-app/monaco/vs/rust-Bfetafyc.js +1 -0
- package/dist/devtools-app/monaco/vs/sb-3GYllVck.js +1 -0
- package/dist/devtools-app/monaco/vs/scala-foMgrKo1.js +1 -0
- package/dist/devtools-app/monaco/vs/scheme-CHdMtr7p.js +1 -0
- package/dist/devtools-app/monaco/vs/scss-C1cmLt9V.js +3 -0
- package/dist/devtools-app/monaco/vs/shell-ClXCKCEW.js +1 -0
- package/dist/devtools-app/monaco/vs/solidity-MZ6ExpPy.js +1 -0
- package/dist/devtools-app/monaco/vs/sophia-DWkuSsPQ.js +1 -0
- package/dist/devtools-app/monaco/vs/sparql-AUGFYSyk.js +1 -0
- package/dist/devtools-app/monaco/vs/sql-32GpJSV2.js +1 -0
- package/dist/devtools-app/monaco/vs/st-CuDFIVZ_.js +1 -0
- package/dist/devtools-app/monaco/vs/swift-n-2HociN.js +3 -0
- package/dist/devtools-app/monaco/vs/systemverilog-Ch4vA8Yt.js +1 -0
- package/dist/devtools-app/monaco/vs/tcl-D74tq1nH.js +1 -0
- package/dist/devtools-app/monaco/vs/tsMode-CZz1Umrk.js +11 -0
- package/dist/devtools-app/monaco/vs/twig-C6taOxMV.js +1 -0
- package/dist/devtools-app/monaco/vs/typescript-DfOrAzoV.js +1 -0
- package/dist/devtools-app/monaco/vs/typespec-D-PIh9Xw.js +1 -0
- package/dist/devtools-app/monaco/vs/vb-Dyb2648j.js +1 -0
- package/dist/devtools-app/monaco/vs/wgsl-BhLXMOR0.js +298 -0
- package/dist/devtools-app/monaco/vs/workers-DcJshg-q.js +1 -0
- package/dist/devtools-app/monaco/vs/xml-CdsdnY8S.js +1 -0
- package/dist/devtools-app/monaco/vs/yaml-DYGvmE88.js +1 -0
- package/dist/eslint-plugin/index.cjs +5 -2
- package/dist/eslint-plugin/index.mjs +5 -2
- package/dist/eslint-plugin/rules/prefer-unitless-values.cjs +217 -0
- package/dist/eslint-plugin/rules/prefer-unitless-values.mjs +217 -0
- package/dist/eslint-plugin/utils/api.cjs +3 -4
- package/dist/eslint-plugin/utils/api.mjs +2 -2
- package/dist/native/browser.cjs +14 -1
- package/dist/native/browser.mjs +14 -1
- package/dist/native/server.cjs +4 -4
- package/dist/native/server.mjs +4 -4
- package/dist/parser/classname/server.cjs +2 -0
- package/dist/parser/classname/server.mjs +2 -0
- package/dist/parser/jsx/server.cjs +13 -7
- package/dist/parser/jsx/server.mjs +13 -7
- package/dist/prop/at/server.cjs +6 -4
- package/dist/prop/at/server.mjs +6 -4
- package/dist/prop/at/shared.cjs +3 -3
- package/dist/prop/at/shared.mjs +3 -3
- package/dist/prop/bosswind/browser.cjs +3 -0
- package/dist/prop/bosswind/browser.mjs +3 -0
- package/dist/prop/bosswind/runtime-only.cjs +3 -0
- package/dist/prop/bosswind/runtime-only.mjs +3 -0
- package/dist/prop/bosswind/selectors.cjs +18 -0
- package/dist/prop/bosswind/selectors.mjs +16 -0
- package/dist/prop/bosswind/shared.cjs +93 -32
- package/dist/prop/bosswind/shared.mjs +94 -32
- package/dist/prop/child/server.cjs +3 -2
- package/dist/prop/child/server.mjs +3 -2
- package/dist/prop/css/server.cjs +2 -1
- package/dist/prop/css/server.mjs +2 -1
- package/dist/prop/pseudo/server.cjs +3 -2
- package/dist/prop/pseudo/server.mjs +3 -2
- package/dist/strategy/classname-first/browser.cjs +7 -1
- package/dist/strategy/classname-first/browser.mjs +7 -1
- package/dist/strategy/classname-first/runtime-only.cjs +15 -4
- package/dist/strategy/classname-first/runtime-only.mjs +15 -4
- package/dist/strategy/classname-first/server.cjs +1 -1
- package/dist/strategy/classname-first/server.mjs +1 -1
- package/dist/transform/cache.cjs +0 -3
- package/dist/transform/cache.mjs +0 -2
- package/dist/use/token/browser.cjs +17 -9
- package/dist/use/token/browser.mjs +18 -10
- package/dist/use/token/normalize.cjs +474 -0
- package/dist/use/token/normalize.mjs +473 -0
- package/dist/use/token/propMap.cjs +34 -5
- package/dist/use/token/propMap.mjs +34 -6
- package/dist/use/token/runtime-only.cjs +36 -47
- package/dist/use/token/runtime-only.mjs +37 -48
- package/dist/use/token/server.cjs +84 -17
- package/dist/use/token/server.mjs +85 -19
- package/dist/use/token/vars.cjs +14 -2
- package/dist/use/token/vars.mjs +15 -2
- package/package.json +13 -7
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/prop/bosswind/selectors.ts
|
|
2
|
+
const bosswindSelectorKey = Symbol.for("bosswind.selectorMap");
|
|
3
|
+
const getBosswindSelectorMap = (input) => {
|
|
4
|
+
if (!input || typeof input !== "object") return void 0;
|
|
5
|
+
return input[bosswindSelectorKey];
|
|
6
|
+
};
|
|
7
|
+
const setBosswindSelectorMap = (input, selectors) => {
|
|
8
|
+
Object.defineProperty(input, bosswindSelectorKey, {
|
|
9
|
+
value: selectors,
|
|
10
|
+
enumerable: false,
|
|
11
|
+
configurable: true
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { getBosswindSelectorMap, setBosswindSelectorMap };
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const require_selectors = require('./selectors.cjs');
|
|
1
2
|
|
|
2
3
|
//#region src/prop/bosswind/shared.ts
|
|
3
4
|
const toDashCase = (value) => value.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
|
|
@@ -580,10 +581,16 @@ const registerBosswindDictionary = (api) => {
|
|
|
580
581
|
api.dictionary.set(entry.name, prop);
|
|
581
582
|
}
|
|
582
583
|
};
|
|
583
|
-
const
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
584
|
+
const selectorValueUnset = Symbol("selectorValueUnset");
|
|
585
|
+
const cloneProp = (prop, value, selectorName, selectorValue = selectorValueUnset) => {
|
|
586
|
+
const next = {
|
|
587
|
+
...prop,
|
|
588
|
+
value
|
|
589
|
+
};
|
|
590
|
+
if (selectorName && selectorName !== prop.selectorName) next.selectorName = selectorName;
|
|
591
|
+
if (selectorValue !== selectorValueUnset) next.selectorValue = selectorValue;
|
|
592
|
+
return next;
|
|
593
|
+
};
|
|
587
594
|
const combineAxisValues = (xValue, yValue, defaults) => {
|
|
588
595
|
if (typeof xValue === "function" || typeof yValue === "function") return () => [resolveTranslateScaleValue(typeof xValue === "function" ? xValue() : xValue, defaults.x), resolveTranslateScaleValue(typeof yValue === "function" ? yValue() : yValue, defaults.y)];
|
|
589
596
|
return [resolveTranslateScaleValue(xValue, defaults.x), resolveTranslateScaleValue(yValue, defaults.y)];
|
|
@@ -606,14 +613,20 @@ const resolveAxisPairs = (entries, node) => {
|
|
|
606
613
|
}
|
|
607
614
|
return results;
|
|
608
615
|
};
|
|
609
|
-
const applyAxisPairsToTree = (entries, node, output, used) => {
|
|
616
|
+
const applyAxisPairsToTree = (entries, node, output, used, getSelectorName) => {
|
|
610
617
|
const pairs = resolveAxisPairs(entries, node);
|
|
611
618
|
if (!pairs.length) return;
|
|
612
619
|
for (const pair of pairs) {
|
|
613
620
|
if (!Number.isFinite(pair.emitIndex)) continue;
|
|
614
621
|
const xValue = node[pair.x]?.value ?? null;
|
|
615
622
|
const yValue = node[pair.y]?.value ?? null;
|
|
616
|
-
|
|
623
|
+
const xIndex = entries.findIndex(([name]) => name === pair.x);
|
|
624
|
+
const yIndex = entries.findIndex(([name]) => name === pair.y);
|
|
625
|
+
const sourceName = xIndex === -1 ? pair.y : yIndex === -1 ? pair.x : xIndex <= yIndex ? pair.x : pair.y;
|
|
626
|
+
const selectorName = getSelectorName ? getSelectorName(sourceName) : void 0;
|
|
627
|
+
const sourceProp = node[sourceName] || node[pair.x] || node[pair.y];
|
|
628
|
+
const selectorValue = sourceProp?.selectorValue !== void 0 ? sourceProp.selectorValue : sourceProp?.value;
|
|
629
|
+
output[pair.prop] = cloneProp(sourceProp, combineAxisValues(xValue, yValue, pair.defaults), selectorName, selectorValue);
|
|
617
630
|
used.set(pair.x, true);
|
|
618
631
|
used.set(pair.y, true);
|
|
619
632
|
used.set(`__emit:${pair.emitIndex}:${pair.prop}`, true);
|
|
@@ -626,22 +639,29 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
626
639
|
const rawEntries = Object.entries(node);
|
|
627
640
|
const entries = [];
|
|
628
641
|
const normalizedNode = {};
|
|
642
|
+
const rawNameByNormalized = /* @__PURE__ */ new Map();
|
|
629
643
|
rawEntries.forEach(([rawName, prop]) => {
|
|
630
644
|
const name = normalizeBosswindName(rawName);
|
|
631
645
|
if (Object.prototype.hasOwnProperty.call(normalizedNode, name)) return;
|
|
632
646
|
normalizedNode[name] = prop;
|
|
647
|
+
rawNameByNormalized.set(name, rawName);
|
|
633
648
|
entries.push([name, prop]);
|
|
634
649
|
});
|
|
650
|
+
const getSelectorName = (name) => rawNameByNormalized.get(name) ?? name;
|
|
635
651
|
const output = {};
|
|
636
652
|
const used = /* @__PURE__ */ new Map();
|
|
637
|
-
applyAxisPairsToTree(entries, normalizedNode, output, used);
|
|
653
|
+
applyAxisPairsToTree(entries, normalizedNode, output, used, getSelectorName);
|
|
638
654
|
const hasSkewX = Object.prototype.hasOwnProperty.call(normalizedNode, "skewX");
|
|
639
655
|
const hasSkewY = Object.prototype.hasOwnProperty.call(normalizedNode, "skewY");
|
|
640
656
|
if (!Object.prototype.hasOwnProperty.call(normalizedNode, "transform") && (hasSkewX || hasSkewY)) {
|
|
641
657
|
const transformValue = resolveSkewTransformValue(hasSkewX ? normalizedNode.skewX?.value ?? null : null, hasSkewY ? normalizedNode.skewY?.value ?? null : null, hasSkewX, hasSkewY);
|
|
642
658
|
if (transformValue) {
|
|
643
|
-
const
|
|
644
|
-
|
|
659
|
+
const sourceName = hasSkewX ? "skewX" : "skewY";
|
|
660
|
+
const sourceProp = normalizedNode[sourceName];
|
|
661
|
+
if (sourceProp) {
|
|
662
|
+
const selectorValue = sourceProp.selectorValue !== void 0 ? sourceProp.selectorValue : sourceProp.value;
|
|
663
|
+
output.transform = cloneProp(sourceProp, transformValue, getSelectorName(sourceName), selectorValue);
|
|
664
|
+
}
|
|
645
665
|
used.set("skewX", true);
|
|
646
666
|
used.set("skewY", true);
|
|
647
667
|
}
|
|
@@ -660,7 +680,7 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
660
680
|
const value = prop?.value;
|
|
661
681
|
if (name === "flex" || name === "grid") {
|
|
662
682
|
if (value === null || value === true) {
|
|
663
|
-
output.display = cloneProp(prop, name);
|
|
683
|
+
output.display = cloneProp(prop, name, getSelectorName(name), null);
|
|
664
684
|
usedBosswind = true;
|
|
665
685
|
return;
|
|
666
686
|
}
|
|
@@ -670,7 +690,7 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
670
690
|
if (displayKeywords.has(name)) {
|
|
671
691
|
if (value === null || value === true) {
|
|
672
692
|
const displayValue = displayKeywords.get(name);
|
|
673
|
-
if (displayValue) output.display = cloneProp(prop, displayValue);
|
|
693
|
+
if (displayValue) output.display = cloneProp(prop, displayValue, getSelectorName(name), null);
|
|
674
694
|
}
|
|
675
695
|
usedBosswind = true;
|
|
676
696
|
return;
|
|
@@ -678,7 +698,7 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
678
698
|
if (positionKeywords.has(name)) {
|
|
679
699
|
if (value === null || value === true) {
|
|
680
700
|
const positionValue = positionKeywords.get(name);
|
|
681
|
-
if (positionValue) output.position = cloneProp(prop, positionValue);
|
|
701
|
+
if (positionValue) output.position = cloneProp(prop, positionValue, getSelectorName(name), null);
|
|
682
702
|
}
|
|
683
703
|
usedBosswind = true;
|
|
684
704
|
return;
|
|
@@ -686,7 +706,7 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
686
706
|
if (booleanAliases.has(name)) {
|
|
687
707
|
if (value === null || value === true) {
|
|
688
708
|
const entry = booleanAliases.get(name);
|
|
689
|
-
if (entry) output[entry.prop] = cloneProp(prop, entry.value);
|
|
709
|
+
if (entry) output[entry.prop] = cloneProp(prop, entry.value, getSelectorName(name), null);
|
|
690
710
|
}
|
|
691
711
|
usedBosswind = true;
|
|
692
712
|
return;
|
|
@@ -696,13 +716,13 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
696
716
|
usedText = true;
|
|
697
717
|
if (value === null || value === true) return;
|
|
698
718
|
const resolved = resolveTextTarget(api, value, config, tokens);
|
|
699
|
-
output[resolved.prop] = cloneProp(prop, resolved.value);
|
|
719
|
+
output[resolved.prop] = cloneProp(prop, resolved.value, getSelectorName(name));
|
|
700
720
|
return;
|
|
701
721
|
}
|
|
702
722
|
if (name === bgAlias) {
|
|
703
723
|
usedBosswind = true;
|
|
704
724
|
if (value === null || value === true) return;
|
|
705
|
-
output.backgroundColor = cloneProp(prop, typeof value === "string" && tokens?.color ? toTokenPath(value, tokens.color) : value);
|
|
725
|
+
output.backgroundColor = cloneProp(prop, typeof value === "string" && tokens?.color ? toTokenPath(value, tokens.color) : value, getSelectorName(name));
|
|
706
726
|
return;
|
|
707
727
|
}
|
|
708
728
|
if (name === borderAlias) {
|
|
@@ -710,36 +730,39 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
710
730
|
if (parser === "jsx") {
|
|
711
731
|
const resolvedToken = resolveBorderToken(value, tokens);
|
|
712
732
|
if (resolvedToken) {
|
|
713
|
-
output[resolvedToken.prop] = cloneProp(prop, resolvedToken.value);
|
|
733
|
+
output[resolvedToken.prop] = cloneProp(prop, resolvedToken.value, getSelectorName(name));
|
|
714
734
|
return;
|
|
715
735
|
}
|
|
716
|
-
output[name] = prop;
|
|
736
|
+
if (value === null || value === true) output[name] = cloneProp(prop, value, getSelectorName(name), null);
|
|
737
|
+
else output[name] = cloneProp(prop, value, getSelectorName(name));
|
|
717
738
|
return;
|
|
718
739
|
}
|
|
719
740
|
const resolved = resolveBorderTarget(value, config, tokens);
|
|
720
741
|
if (!resolved) {
|
|
721
|
-
output[name] = prop;
|
|
742
|
+
output[name] = cloneProp(prop, value, getSelectorName(name));
|
|
722
743
|
return;
|
|
723
744
|
}
|
|
724
|
-
output[resolved.prop] = cloneProp(prop, resolved.value);
|
|
745
|
+
if (value === null || value === true) output[resolved.prop] = cloneProp(prop, resolved.value, getSelectorName(name), null);
|
|
746
|
+
else output[resolved.prop] = cloneProp(prop, resolved.value, getSelectorName(name));
|
|
725
747
|
return;
|
|
726
748
|
}
|
|
727
749
|
if (name === "shadow") {
|
|
728
750
|
usedBosswind = true;
|
|
729
|
-
if (value === null || value === true) output.boxShadow = cloneProp(prop, resolveShadowValue(value, config));
|
|
730
|
-
else output.boxShadow = prop;
|
|
751
|
+
if (value === null || value === true) output.boxShadow = cloneProp(prop, resolveShadowValue(value, config), getSelectorName(name), null);
|
|
752
|
+
else output.boxShadow = cloneProp(prop, value, getSelectorName(name));
|
|
731
753
|
return;
|
|
732
754
|
}
|
|
733
755
|
if (name === "rounded") {
|
|
734
756
|
usedBosswind = true;
|
|
735
|
-
if (value === null || value === true) output.borderRadius = cloneProp(prop, resolveRoundedValue(value, config));
|
|
736
|
-
else output.borderRadius = prop;
|
|
757
|
+
if (value === null || value === true) output.borderRadius = cloneProp(prop, resolveRoundedValue(value, config), getSelectorName(name), null);
|
|
758
|
+
else output.borderRadius = cloneProp(prop, value, getSelectorName(name));
|
|
737
759
|
return;
|
|
738
760
|
}
|
|
739
761
|
if (name === "grow" || name === "shrink") {
|
|
740
762
|
usedBosswind = true;
|
|
741
763
|
const target = name === "grow" ? "flexGrow" : "flexShrink";
|
|
742
|
-
output[target] = cloneProp(prop, resolveGrowShrinkValue(name, value));
|
|
764
|
+
if (value === null || value === true) output[target] = cloneProp(prop, resolveGrowShrinkValue(name, value), getSelectorName(name), null);
|
|
765
|
+
else output[target] = cloneProp(prop, resolveGrowShrinkValue(name, value), getSelectorName(name));
|
|
743
766
|
return;
|
|
744
767
|
}
|
|
745
768
|
if (aliasMap.has(name)) {
|
|
@@ -748,7 +771,7 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
748
771
|
const targets = aliasMap.get(name) || [];
|
|
749
772
|
const resolvedValue = name === "shadow" ? resolveShadowValue(value, config) : value;
|
|
750
773
|
targets.forEach((target) => {
|
|
751
|
-
output[target] = cloneProp(prop, resolvedValue);
|
|
774
|
+
output[target] = cloneProp(prop, resolvedValue, getSelectorName(name));
|
|
752
775
|
});
|
|
753
776
|
return;
|
|
754
777
|
}
|
|
@@ -762,7 +785,7 @@ const rewriteBosswindTree = (api, tree, config, tokens, parser) => {
|
|
|
762
785
|
usedText
|
|
763
786
|
};
|
|
764
787
|
};
|
|
765
|
-
const applyAxisPairsToInput = (entries, input, output, used) => {
|
|
788
|
+
const applyAxisPairsToInput = (entries, input, output, used, getSelectorName, setSelector) => {
|
|
766
789
|
const pairs = resolveAxisPairs(entries, input);
|
|
767
790
|
if (!pairs.length) return;
|
|
768
791
|
for (const pair of pairs) {
|
|
@@ -770,6 +793,10 @@ const applyAxisPairsToInput = (entries, input, output, used) => {
|
|
|
770
793
|
const xValue = input[pair.x];
|
|
771
794
|
const yValue = input[pair.y];
|
|
772
795
|
output[pair.prop] = combineAxisValues(xValue, yValue, pair.defaults);
|
|
796
|
+
const xIndex = entries.findIndex(([name]) => name === pair.x);
|
|
797
|
+
const yIndex = entries.findIndex(([name]) => name === pair.y);
|
|
798
|
+
const sourceName = xIndex === -1 ? pair.y : yIndex === -1 ? pair.x : xIndex <= yIndex ? pair.x : pair.y;
|
|
799
|
+
setSelector(pair.prop, getSelectorName(sourceName));
|
|
773
800
|
used.set(pair.x, true);
|
|
774
801
|
used.set(pair.y, true);
|
|
775
802
|
used.set(`__emit:${pair.emitIndex}:${pair.prop}`, true);
|
|
@@ -779,21 +806,31 @@ const rewriteBosswindInput = (api, input, config) => {
|
|
|
779
806
|
const rawEntries = Object.entries(input);
|
|
780
807
|
const entries = [];
|
|
781
808
|
const normalizedInput = {};
|
|
809
|
+
const rawNameByNormalized = /* @__PURE__ */ new Map();
|
|
782
810
|
rawEntries.forEach(([rawName, value]) => {
|
|
783
811
|
const name = normalizeBosswindName(rawName);
|
|
784
812
|
if (Object.prototype.hasOwnProperty.call(normalizedInput, name)) return;
|
|
785
813
|
normalizedInput[name] = value;
|
|
814
|
+
rawNameByNormalized.set(name, rawName);
|
|
786
815
|
entries.push([name, value]);
|
|
787
816
|
});
|
|
817
|
+
const selectorMap = /* @__PURE__ */ new Map();
|
|
818
|
+
const getSelectorName = (name) => rawNameByNormalized.get(name) ?? name;
|
|
819
|
+
const setSelector = (prop, name, valueOverride) => {
|
|
820
|
+
const entry = { name };
|
|
821
|
+
if (valueOverride !== void 0) entry.value = valueOverride;
|
|
822
|
+
selectorMap.set(prop, entry);
|
|
823
|
+
};
|
|
788
824
|
const output = {};
|
|
789
825
|
const used = /* @__PURE__ */ new Map();
|
|
790
|
-
applyAxisPairsToInput(entries, normalizedInput, output, used);
|
|
826
|
+
applyAxisPairsToInput(entries, normalizedInput, output, used, getSelectorName, setSelector);
|
|
791
827
|
const hasSkewX = Object.prototype.hasOwnProperty.call(normalizedInput, "skewX");
|
|
792
828
|
const hasSkewY = Object.prototype.hasOwnProperty.call(normalizedInput, "skewY");
|
|
793
829
|
if (!Object.prototype.hasOwnProperty.call(normalizedInput, "transform") && (hasSkewX || hasSkewY)) {
|
|
794
830
|
const transformValue = resolveSkewTransformValue(hasSkewX ? normalizedInput.skewX : null, hasSkewY ? normalizedInput.skewY : null, hasSkewX, hasSkewY);
|
|
795
831
|
if (transformValue) {
|
|
796
832
|
output.transform = transformValue;
|
|
833
|
+
setSelector("transform", getSelectorName(hasSkewX ? "skewX" : "skewY"));
|
|
797
834
|
used.set("skewX", true);
|
|
798
835
|
used.set("skewY", true);
|
|
799
836
|
}
|
|
@@ -806,28 +843,39 @@ const rewriteBosswindInput = (api, input, config) => {
|
|
|
806
843
|
return;
|
|
807
844
|
}
|
|
808
845
|
if (name === "flex" || name === "grid") {
|
|
809
|
-
if (value === null || value === true)
|
|
810
|
-
|
|
846
|
+
if (value === null || value === true) {
|
|
847
|
+
output.display = name;
|
|
848
|
+
setSelector("display", getSelectorName(name), null);
|
|
849
|
+
} else output[name] = value;
|
|
811
850
|
return;
|
|
812
851
|
}
|
|
813
852
|
if (displayKeywords.has(name)) {
|
|
814
853
|
if (value === null || value === true) {
|
|
815
854
|
const displayValue = displayKeywords.get(name);
|
|
816
|
-
if (displayValue)
|
|
855
|
+
if (displayValue) {
|
|
856
|
+
output.display = displayValue;
|
|
857
|
+
setSelector("display", getSelectorName(name), null);
|
|
858
|
+
}
|
|
817
859
|
}
|
|
818
860
|
return;
|
|
819
861
|
}
|
|
820
862
|
if (positionKeywords.has(name)) {
|
|
821
863
|
if (value === null || value === true) {
|
|
822
864
|
const positionValue = positionKeywords.get(name);
|
|
823
|
-
if (positionValue)
|
|
865
|
+
if (positionValue) {
|
|
866
|
+
output.position = positionValue;
|
|
867
|
+
setSelector("position", getSelectorName(name), null);
|
|
868
|
+
}
|
|
824
869
|
}
|
|
825
870
|
return;
|
|
826
871
|
}
|
|
827
872
|
if (booleanAliases.has(name)) {
|
|
828
873
|
if (value === null || value === true) {
|
|
829
874
|
const entry = booleanAliases.get(name);
|
|
830
|
-
if (entry)
|
|
875
|
+
if (entry) {
|
|
876
|
+
output[entry.prop] = entry.value;
|
|
877
|
+
setSelector(entry.prop, getSelectorName(name), null);
|
|
878
|
+
}
|
|
831
879
|
}
|
|
832
880
|
return;
|
|
833
881
|
}
|
|
@@ -835,43 +883,56 @@ const rewriteBosswindInput = (api, input, config) => {
|
|
|
835
883
|
if (value === null || value === true) return;
|
|
836
884
|
const resolved = resolveTextTarget(api, value, config, void 0);
|
|
837
885
|
output[resolved.prop] = resolved.value;
|
|
886
|
+
setSelector(resolved.prop, getSelectorName(name));
|
|
838
887
|
return;
|
|
839
888
|
}
|
|
840
889
|
if (name === bgAlias) {
|
|
841
890
|
if (value === null || value === true) return;
|
|
842
891
|
output.backgroundColor = value;
|
|
892
|
+
setSelector("backgroundColor", getSelectorName(name));
|
|
843
893
|
return;
|
|
844
894
|
}
|
|
845
895
|
if (name === borderAlias) {
|
|
846
896
|
const resolvedToken = resolveBorderToken(value, api.tokens);
|
|
847
897
|
if (resolvedToken) {
|
|
848
898
|
output[resolvedToken.prop] = resolvedToken.value;
|
|
899
|
+
setSelector(resolvedToken.prop, getSelectorName(name));
|
|
849
900
|
return;
|
|
850
901
|
}
|
|
851
902
|
output[name] = value;
|
|
903
|
+
if (value === null || value === true) setSelector(name, getSelectorName(name), null);
|
|
904
|
+
else setSelector(name, getSelectorName(name));
|
|
852
905
|
return;
|
|
853
906
|
}
|
|
854
907
|
if (name === "shadow") {
|
|
855
908
|
output.boxShadow = resolveShadowValue(value, config);
|
|
909
|
+
if (value === null || value === true) setSelector("boxShadow", getSelectorName(name), null);
|
|
910
|
+
else setSelector("boxShadow", getSelectorName(name));
|
|
856
911
|
return;
|
|
857
912
|
}
|
|
858
913
|
if (name === "rounded") {
|
|
859
914
|
output.borderRadius = resolveRoundedValue(value, config);
|
|
915
|
+
if (value === null || value === true) setSelector("borderRadius", getSelectorName(name), null);
|
|
916
|
+
else setSelector("borderRadius", getSelectorName(name));
|
|
860
917
|
return;
|
|
861
918
|
}
|
|
862
919
|
if (name === "grow" || name === "shrink") {
|
|
863
920
|
output[name === "grow" ? "flexGrow" : "flexShrink"] = resolveGrowShrinkValue(name, value);
|
|
921
|
+
if (value === null || value === true) setSelector(name === "grow" ? "flexGrow" : "flexShrink", getSelectorName(name), null);
|
|
922
|
+
else setSelector(name === "grow" ? "flexGrow" : "flexShrink", getSelectorName(name));
|
|
864
923
|
return;
|
|
865
924
|
}
|
|
866
925
|
if (aliasMap.has(name)) {
|
|
867
926
|
if (value === null || value === true) return;
|
|
868
927
|
(aliasMap.get(name) || []).forEach((target) => {
|
|
869
928
|
output[target] = value;
|
|
929
|
+
setSelector(target, getSelectorName(name));
|
|
870
930
|
});
|
|
871
931
|
return;
|
|
872
932
|
}
|
|
873
933
|
output[name] = value;
|
|
874
934
|
});
|
|
935
|
+
require_selectors.setBosswindSelectorMap(output, selectorMap);
|
|
875
936
|
return output;
|
|
876
937
|
};
|
|
877
938
|
const getBosswindDefaults = (theme) => {
|