tokenami 0.0.89 → 0.0.90
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/dist/cli.js +69 -55
- package/package.json +5 -5
package/dist/cli.js
CHANGED
|
@@ -696,10 +696,7 @@ function createSheet(params) {
|
|
|
696
696
|
const tokenValues = params.tokens.values;
|
|
697
697
|
const composeBlocks = parseComposeBlocks(params.tokens.composeBlocks, params.config);
|
|
698
698
|
const propertyConfigsByCSSProperty = getPropertyConfigs(tokenProperties, params.config);
|
|
699
|
-
|
|
700
|
-
const selectors = propertyConfigs.flatMap((prop) => {
|
|
701
|
-
return getPropertyBaseSelectors(composeBlocks, prop, params.config);
|
|
702
|
-
});
|
|
699
|
+
let themeTokenSelectors = [];
|
|
703
700
|
const styles = {
|
|
704
701
|
reset: /* @__PURE__ */ new Set(),
|
|
705
702
|
atomic: {},
|
|
@@ -708,70 +705,57 @@ function createSheet(params) {
|
|
|
708
705
|
toggles: {}
|
|
709
706
|
};
|
|
710
707
|
for (const [cssProperty, configs] of propertyConfigsByCSSProperty) {
|
|
711
|
-
const isLogical = supportedLogicalProperties.has(cssProperty);
|
|
712
708
|
const isInheritable = inheritedProperties.has(cssProperty);
|
|
713
|
-
const
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
return `var(${hashedProperty}, ${fallback})`;
|
|
718
|
-
}, "revert-layer");
|
|
709
|
+
const elementConfigs = configs.filter((c) => {
|
|
710
|
+
const selectorConfig = getPropertyConfigSelector(c.selector, params.config);
|
|
711
|
+
return !selectorConfig.some(isPseudoElementSelector);
|
|
712
|
+
});
|
|
719
713
|
for (const prop of configs) {
|
|
720
|
-
const layerIndex = getAtomicLayerIndex(cssProperty, params.config);
|
|
721
714
|
const toggleKey = prop.responsive || prop.selector;
|
|
722
715
|
const propertyPrefix = prop.isCustom ? CUSTOM_PROP_PREFIX : "";
|
|
723
|
-
const baseSelectors = getPropertyBaseSelectors(composeBlocks, prop, params.config);
|
|
724
716
|
const gridToggle = prop.isGrid ? getGridPropertyToggle(prop.tokenProperty) : "";
|
|
725
|
-
|
|
717
|
+
const selectors = getPropertySelectors(composeBlocks, prop, params.config);
|
|
718
|
+
themeTokenSelectors.push(...selectors.base.map(removePseudoElementSelector));
|
|
726
719
|
if (prop.variant && toggleKey) {
|
|
727
720
|
const responsive = getResponsiveSelectorFromConfig(prop.responsive, params.config);
|
|
728
721
|
const selectorConfig = getPropertyConfigSelector(prop.selector, params.config);
|
|
729
722
|
const hasChildSelector = selectorConfig.some(isChildSelector);
|
|
723
|
+
const propertyConfigs = selectorConfig.some(isPseudoElementSelector) ? configs.filter((c) => c.selector === prop.selector) : elementConfigs;
|
|
724
|
+
const declarationValue = createVariantValue(cssProperty, prop, propertyConfigs);
|
|
730
725
|
const hashedProperty = hashVariantProperty(prop.variant, cssProperty);
|
|
731
726
|
const basePropertyValue = getBasePropertyValue(prop.tokenProperty, prop, false);
|
|
732
727
|
const toggleProperty = Tokenami2.parsedTokenProperty(prop.variant);
|
|
733
|
-
const toggleDeclaration = `${hashedProperty}: var(${toggleProperty}) ${basePropertyValue};`;
|
|
734
|
-
const layer = `${isLogical ? LAYERS.SELECTORS_LOGICAL : LAYERS.SELECTORS}${layerIndex}`;
|
|
735
|
-
const customPropertyFallback = `var(${Tokenami2.tokenProperty(cssProperty)})`;
|
|
736
|
-
const customPropertyValue = variantValue.replace("revert-layer", customPropertyFallback);
|
|
737
|
-
const declarationValue = prop.isCustom ? customPropertyValue : variantValue;
|
|
738
728
|
const declaration = `${propertyPrefix}${cssProperty}: ${declarationValue};`;
|
|
729
|
+
const toggleDeclaration = `${hashedProperty}: var(${toggleProperty}) ${basePropertyValue};`;
|
|
730
|
+
const toggleTemplate = `@layer ${prop.layer} {${SELECTOR_TAG} { ${toggleDeclaration} }}`;
|
|
731
|
+
const gridToggleTemplate = `@layer ${prop.layer} {${SELECTOR_TAG} { ${gridToggle} }}`;
|
|
732
|
+
const template = `@layer ${prop.layer} {${SELECTOR_TAG} { ${declaration} }}`;
|
|
739
733
|
styles.reset.add(`${toggleProperty}: initial;`);
|
|
740
734
|
styles.reset.add(`${hashedProperty}: initial;`);
|
|
741
735
|
if (!isInheritable && !hasChildSelector) {
|
|
742
736
|
styles.reset.add(`${prop.tokenProperty}: initial;`);
|
|
743
737
|
}
|
|
744
|
-
const template = `@layer ${layer} {${SELECTOR_TAG} { ${declaration} ${gridToggle} }}`;
|
|
745
|
-
const toggleTemplate = `@layer ${layer} {${SELECTOR_TAG} { ${toggleDeclaration} }}`;
|
|
746
738
|
styles.selectors[template] ??= /* @__PURE__ */ new Set();
|
|
747
739
|
styles.selectors[toggleTemplate] ??= /* @__PURE__ */ new Set();
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
740
|
+
styles.selectors[gridToggleTemplate] ??= /* @__PURE__ */ new Set();
|
|
741
|
+
for (const selector of selectors.base) {
|
|
742
|
+
const elemSelector = removePseudoElementSelector(selector);
|
|
743
|
+
styles.selectors[template].add(prop.isCustom ? elemSelector : selector);
|
|
744
|
+
styles.selectors[toggleTemplate].add(elemSelector);
|
|
745
|
+
styles.selectors[gridToggleTemplate].add(elemSelector);
|
|
751
746
|
}
|
|
752
|
-
const
|
|
753
|
-
|
|
754
|
-
prop.selector,
|
|
755
|
-
prop.tokenProperty,
|
|
756
|
-
params.config
|
|
757
|
-
);
|
|
758
|
-
for (const selector of selectors2) {
|
|
759
|
-
const responsiveSelectors = [responsive, ...selector].filter(Boolean);
|
|
760
|
-
const toggle = responsiveSelectors.reduceRight(
|
|
761
|
-
(declaration2, selector2) => `${selector2} { ${declaration2} }`,
|
|
762
|
-
`${toggleProperty}: ;`
|
|
763
|
-
);
|
|
747
|
+
for (const selector of selectors.all) {
|
|
748
|
+
const toggle = createToggleDeclaration(responsive, selector, toggleProperty);
|
|
764
749
|
styles.toggles[toggleKey] ??= /* @__PURE__ */ new Set();
|
|
765
750
|
styles.toggles[toggleKey].add(toggle);
|
|
766
751
|
}
|
|
767
752
|
} else {
|
|
768
753
|
const propertyValue = getBasePropertyValue(prop.tokenProperty, prop);
|
|
769
754
|
const declaration = `${propertyPrefix}${cssProperty}: ${propertyValue};`;
|
|
770
|
-
const
|
|
755
|
+
const template = `@layer ${prop.layer} {${SELECTOR_TAG} { ${declaration} ${gridToggle} }}`;
|
|
771
756
|
if (!isInheritable) styles.reset.add(`${prop.tokenProperty}: initial;`);
|
|
772
|
-
const template = `@layer ${layer} {${SELECTOR_TAG} { ${declaration} ${gridToggle} }}`;
|
|
773
757
|
styles.atomic[template] ??= /* @__PURE__ */ new Set();
|
|
774
|
-
for (const selector of
|
|
758
|
+
for (const selector of selectors.base) {
|
|
775
759
|
styles.atomic[template].add(selector);
|
|
776
760
|
}
|
|
777
761
|
}
|
|
@@ -794,7 +778,7 @@ function createSheet(params) {
|
|
|
794
778
|
|
|
795
779
|
@layer tkb {
|
|
796
780
|
${generateKeyframeRules(tokenValues, params.config)}
|
|
797
|
-
${generateThemeTokens(tokenValues, unique(
|
|
781
|
+
${generateThemeTokens(tokenValues, unique(themeTokenSelectors), params.config)}
|
|
798
782
|
* { ${Array.from(styles.reset).join(" ")} }
|
|
799
783
|
|
|
800
784
|
${Object.values(styles.toggles).flatMap((set) => Array.from(set)).join(" ")}
|
|
@@ -831,24 +815,22 @@ function parseComposeBlocks(composeBlocks, config) {
|
|
|
831
815
|
}
|
|
832
816
|
return parsedComposeBlocks;
|
|
833
817
|
}
|
|
834
|
-
function
|
|
818
|
+
function getPropertySelectors(composeBlocks, prop, config) {
|
|
835
819
|
let selectors = [];
|
|
836
820
|
const selectorConfig = getPropertyConfigSelector(prop.selector, config);
|
|
837
821
|
const baseSelectors = getBaseSelectors(composeBlocks, prop.tokenProperty);
|
|
838
822
|
const elemSelector = selectorConfig.find(isElementSelector);
|
|
839
|
-
if (
|
|
840
|
-
selectors.push(...baseSelectors);
|
|
841
|
-
} else {
|
|
823
|
+
if (elemSelector) {
|
|
842
824
|
const parsedSelectors = getParsedSelectors(prop.selector, [elemSelector], baseSelectors);
|
|
843
825
|
if (elemSelector === "&") selectors.push(...parsedSelectors.flat());
|
|
844
826
|
selectors.push(...parsedSelectors.flat());
|
|
827
|
+
} else {
|
|
828
|
+
selectors.push(...baseSelectors);
|
|
845
829
|
}
|
|
846
|
-
return
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
const baseSelectors = getBaseSelectors(composeBlocks, property);
|
|
851
|
-
return getParsedSelectors(propertySelector, selectorConfig, baseSelectors);
|
|
830
|
+
return {
|
|
831
|
+
base: unique(selectors),
|
|
832
|
+
all: getParsedSelectors(prop.selector, selectorConfig, baseSelectors)
|
|
833
|
+
};
|
|
852
834
|
}
|
|
853
835
|
function getBaseSelectors(composeBlocks, property) {
|
|
854
836
|
const composeSelectors = Object.entries(composeBlocks).flatMap(([selector, styles]) => {
|
|
@@ -856,6 +838,30 @@ function getBaseSelectors(composeBlocks, property) {
|
|
|
856
838
|
});
|
|
857
839
|
return [DEFAULT_SELECTOR, ...composeSelectors];
|
|
858
840
|
}
|
|
841
|
+
function createVariantValue(cssProperty, prop, propertyConfigs) {
|
|
842
|
+
let variantValue = "revert-layer";
|
|
843
|
+
const seen = /* @__PURE__ */ new Set();
|
|
844
|
+
for (const propertyConfig of propertyConfigs) {
|
|
845
|
+
if (!propertyConfig.variant) continue;
|
|
846
|
+
if (seen.has(propertyConfig.variant)) continue;
|
|
847
|
+
const hashedProperty = hashVariantProperty(propertyConfig.variant, cssProperty);
|
|
848
|
+
variantValue = `var(${hashedProperty}, ${variantValue})`;
|
|
849
|
+
seen.add(propertyConfig.variant);
|
|
850
|
+
}
|
|
851
|
+
const customPropertyFallback = `var(${Tokenami2.tokenProperty(cssProperty)})`;
|
|
852
|
+
const customPropertyValue = variantValue.replace("revert-layer", customPropertyFallback);
|
|
853
|
+
return prop.isCustom ? customPropertyValue : variantValue;
|
|
854
|
+
}
|
|
855
|
+
function createToggleDeclaration(responsiveSelector, selector, toggleProperty) {
|
|
856
|
+
let toggle = `${toggleProperty}: ;`;
|
|
857
|
+
const responsiveSelectors = [responsiveSelector, ...selector].reverse();
|
|
858
|
+
for (const selector2 of responsiveSelectors) {
|
|
859
|
+
if (!selector2) continue;
|
|
860
|
+
const elemSelector = removePseudoElementSelector(selector2);
|
|
861
|
+
toggle = `${elemSelector} { ${toggle} }`;
|
|
862
|
+
}
|
|
863
|
+
return toggle;
|
|
864
|
+
}
|
|
859
865
|
function getGridPropertyToggle(property) {
|
|
860
866
|
const hashGridProperty = hashVariantProperty("grid", property);
|
|
861
867
|
const gridProperty3 = Tokenami2.gridProperty();
|
|
@@ -909,15 +915,20 @@ function getPropertyConfigs(tokenProperties, config) {
|
|
|
909
915
|
const selectorOrder = parts.selector ? 2 : 0;
|
|
910
916
|
const order = responsiveOrder + selectorOrder;
|
|
911
917
|
for (const cssProperty of properties) {
|
|
918
|
+
const layerIndex = getAtomicLayerIndex(cssProperty, config);
|
|
919
|
+
if (layerIndex === -1) continue;
|
|
912
920
|
const longhandProperty = Tokenami2.createLonghandProperty(property, cssProperty);
|
|
913
921
|
const tokenProperty3 = Tokenami2.parseProperty(longhandProperty);
|
|
914
922
|
const currentConfigs = propertyConfigs.get(cssProperty) || [];
|
|
915
923
|
const customConfig = config.customProperties?.[cssProperty];
|
|
916
924
|
const propertyConfig = config.properties?.[cssProperty];
|
|
925
|
+
const isLogical = supportedLogicalProperties.has(cssProperty);
|
|
917
926
|
const isGrid = customConfig?.includes("grid") ?? propertyConfig?.includes("grid") ?? false;
|
|
918
927
|
const isCustom = Boolean(customConfig);
|
|
919
|
-
const
|
|
920
|
-
|
|
928
|
+
const layer = parts.variant ? `${isLogical ? LAYERS.SELECTORS_LOGICAL : LAYERS.SELECTORS}${layerIndex}` : `${isLogical ? LAYERS.LOGICAL : LAYERS.BASE}${layerIndex}`;
|
|
929
|
+
const nextConfig = { ...parts, tokenProperty: tokenProperty3, order, layer, isCustom, isGrid };
|
|
930
|
+
const sortedConfigs = [...currentConfigs, nextConfig].sort((a, b) => a.order - b.order);
|
|
931
|
+
propertyConfigs.set(cssProperty, sortedConfigs);
|
|
921
932
|
}
|
|
922
933
|
}
|
|
923
934
|
return propertyConfigs;
|
|
@@ -986,8 +997,8 @@ var getThemeStyles = (styleSelector, selector, tokenValues, theme, config) => {
|
|
|
986
997
|
return themeStyles + " " + customPropertyThemeStyles;
|
|
987
998
|
};
|
|
988
999
|
var getElementThemeStyles = (styleSelector, selector, themeValues) => {
|
|
989
|
-
const
|
|
990
|
-
const themeStyles =
|
|
1000
|
+
const splitGroups = selector.split(",");
|
|
1001
|
+
const themeStyles = splitGroups.map((selector2) => {
|
|
991
1002
|
const elemSelector = [styleSelector].flat().map((s) => `${selector2} ${s}`);
|
|
992
1003
|
return `${selector2}, ${elemSelector} { ${stringify(themeValues)} }`;
|
|
993
1004
|
});
|
|
@@ -1028,6 +1039,9 @@ function isCombinatorSelector(selector = "") {
|
|
|
1028
1039
|
function isPseudoElementSelector(selector = "") {
|
|
1029
1040
|
return /::/.test(selector);
|
|
1030
1041
|
}
|
|
1042
|
+
function removePseudoElementSelector(selector = "") {
|
|
1043
|
+
return selector.replace(/::[a-z-]+$/, "");
|
|
1044
|
+
}
|
|
1031
1045
|
function isChildSelector(selector = "") {
|
|
1032
1046
|
return /&\s(.+)/.test(selector);
|
|
1033
1047
|
}
|
|
@@ -1054,7 +1068,7 @@ function getParsedSelectors(propertySelector, selectorConfig, elementSelectors)
|
|
|
1054
1068
|
|
|
1055
1069
|
// package.json
|
|
1056
1070
|
var package_default = {
|
|
1057
|
-
version: "0.0.
|
|
1071
|
+
version: "0.0.89"};
|
|
1058
1072
|
|
|
1059
1073
|
// src/ts-plugin/error-codes.ts
|
|
1060
1074
|
var INVALID_PROPERTY = 2353;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tokenami",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.90",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -45,11 +45,11 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@stitches/stringify": "^1.2.8",
|
|
48
|
-
"@tokenami/config": "0.0.
|
|
49
|
-
"@tokenami/ds": "0.0.
|
|
48
|
+
"@tokenami/config": "0.0.90",
|
|
49
|
+
"@tokenami/ds": "0.0.90",
|
|
50
50
|
"acorn": "^8.11.3",
|
|
51
51
|
"acorn-walk": "^8.3.2",
|
|
52
|
-
"browserslist": "^4.
|
|
52
|
+
"browserslist": "^4.26.3",
|
|
53
53
|
"cac": "^6.7.14",
|
|
54
54
|
"chalk": "^5.2.0",
|
|
55
55
|
"chokidar": "^3.5.3",
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"peerDependencies": {
|
|
68
68
|
"typescript": ">= 5"
|
|
69
69
|
},
|
|
70
|
-
"gitHead": "
|
|
70
|
+
"gitHead": "d6e7dfc673263649634b95ef9c422b845d53f584"
|
|
71
71
|
}
|