@supernova-studio/model 0.46.8 → 0.46.9
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/index.d.mts +59 -54
- package/dist/index.d.ts +59 -54
- package/dist/index.js +64 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +63 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/dsm/elements/theme.ts +4 -3
- package/src/utils/index.ts +1 -0
- package/src/utils/naming.ts +73 -0
package/dist/index.mjs
CHANGED
|
@@ -1981,7 +1981,8 @@ var ThemeOrigin = z85.object({
|
|
|
1981
1981
|
});
|
|
1982
1982
|
var Theme = DesignElementBase.extend(DesignElementBrandedPart.shape).extend({
|
|
1983
1983
|
origin: ThemeOrigin.optional(),
|
|
1984
|
-
overrides: z85.array(ThemeOverride)
|
|
1984
|
+
overrides: z85.array(ThemeOverride),
|
|
1985
|
+
codeName: z85.string()
|
|
1985
1986
|
});
|
|
1986
1987
|
|
|
1987
1988
|
// src/dsm/elements/utils.ts
|
|
@@ -3752,6 +3753,66 @@ var ContentLoaderPayload = z150.object({
|
|
|
3752
3753
|
})
|
|
3753
3754
|
);
|
|
3754
3755
|
|
|
3756
|
+
// src/utils/naming.ts
|
|
3757
|
+
function getCodenameFromText(name) {
|
|
3758
|
+
let codeName = removeDiacritics(name);
|
|
3759
|
+
codeName = codeName.replace(/[^a-zA-Z0-9$_ ]+/g, "");
|
|
3760
|
+
codeName = codeName.replace(/^[0-9 ]+/g, "");
|
|
3761
|
+
codeName = toCamelCase(codeName.toLowerCase());
|
|
3762
|
+
codeName = codeName.replace(/ /g, "");
|
|
3763
|
+
if (codeName) {
|
|
3764
|
+
codeName = codeName.charAt(0).toLowerCase() + codeName.slice(1);
|
|
3765
|
+
}
|
|
3766
|
+
return codeName;
|
|
3767
|
+
}
|
|
3768
|
+
function toCamelCase(str) {
|
|
3769
|
+
return str.replace(/(?:^\w|[A-Z]|\b\w|\s+)/g, function(match, index) {
|
|
3770
|
+
if (+match === 0)
|
|
3771
|
+
return "";
|
|
3772
|
+
return index === 0 ? match.toLowerCase() : match.toUpperCase();
|
|
3773
|
+
});
|
|
3774
|
+
}
|
|
3775
|
+
function removeDiacritics(str) {
|
|
3776
|
+
const diacriticsMap = [
|
|
3777
|
+
{
|
|
3778
|
+
base: "A",
|
|
3779
|
+
letters: /[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g
|
|
3780
|
+
},
|
|
3781
|
+
{ base: "AA", letters: /[\uA732]/g },
|
|
3782
|
+
{ base: "AE", letters: /[\u00C6\u01FC\u01E2]/g },
|
|
3783
|
+
{ base: "AO", letters: /[\uA734]/g },
|
|
3784
|
+
{ base: "AU", letters: /[\uA736]/g },
|
|
3785
|
+
{ base: "AV", letters: /[\uA738\uA73A]/g },
|
|
3786
|
+
{ base: "AY", letters: /[\uA73C]/g },
|
|
3787
|
+
{
|
|
3788
|
+
base: "B",
|
|
3789
|
+
letters: /[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g
|
|
3790
|
+
},
|
|
3791
|
+
{
|
|
3792
|
+
base: "C",
|
|
3793
|
+
letters: /[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g
|
|
3794
|
+
},
|
|
3795
|
+
/* ... */
|
|
3796
|
+
{
|
|
3797
|
+
base: "Z",
|
|
3798
|
+
letters: /[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g
|
|
3799
|
+
},
|
|
3800
|
+
{
|
|
3801
|
+
base: "a",
|
|
3802
|
+
letters: /[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g
|
|
3803
|
+
},
|
|
3804
|
+
/* ... */
|
|
3805
|
+
{
|
|
3806
|
+
base: "z",
|
|
3807
|
+
letters: /[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g
|
|
3808
|
+
}
|
|
3809
|
+
];
|
|
3810
|
+
diacriticsMap.forEach((diacritic) => {
|
|
3811
|
+
str = str.replace(diacritic.letters, diacritic.base);
|
|
3812
|
+
});
|
|
3813
|
+
return str;
|
|
3814
|
+
}
|
|
3815
|
+
|
|
3755
3816
|
// src/utils/slugify.ts
|
|
3756
3817
|
import slugifyImplementation from "@sindresorhus/slugify";
|
|
3757
3818
|
function slugify(str, options) {
|
|
@@ -4922,6 +4983,7 @@ export {
|
|
|
4922
4983
|
figmaFileStructureToMap,
|
|
4923
4984
|
filterNonNullish,
|
|
4924
4985
|
forceUnwrapNullish,
|
|
4986
|
+
getCodenameFromText,
|
|
4925
4987
|
groupBy,
|
|
4926
4988
|
isDesignTokenImportModelOfType,
|
|
4927
4989
|
isDesignTokenOfType,
|