@newtonedev/configurator 0.1.3 → 0.1.4
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/bridge/toCSS.d.ts.map +1 -1
- package/dist/bridge/toThemeConfig.d.ts.map +1 -1
- package/dist/index.cjs +16 -56
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +16 -56
- package/dist/index.js.map +1 -1
- package/dist/panels/PreviewPanel.d.ts +1 -3
- package/dist/panels/PreviewPanel.d.ts.map +1 -1
- package/dist/state/actions.d.ts +1 -4
- package/dist/state/actions.d.ts.map +1 -1
- package/dist/state/defaults.d.ts.map +1 -1
- package/dist/state/reducer.d.ts.map +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/Configurator.tsx +1 -1
- package/src/bridge/toCSS.ts +6 -8
- package/src/bridge/toThemeConfig.ts +0 -9
- package/src/panels/PalettePanel.tsx +2 -2
- package/src/panels/PreviewPanel.tsx +9 -40
- package/src/state/actions.ts +1 -2
- package/src/state/defaults.ts +0 -1
- package/src/state/reducer.ts +0 -6
- package/src/types.ts +1 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toCSS.d.ts","sourceRoot":"","sources":["../../src/bridge/toCSS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAMlD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"toCSS.d.ts","sourceRoot":"","sources":["../../src/bridge/toCSS.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAMlD;;;GAGG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAkCtD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toThemeConfig.d.ts","sourceRoot":"","sources":["../../src/bridge/toThemeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAc,MAAM,wBAAwB,CAAC;AAoE7E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"toThemeConfig.d.ts","sourceRoot":"","sources":["../../src/bridge/toThemeConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAc,MAAM,wBAAwB,CAAC;AAoE7E;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAqF1E"}
|
package/dist/index.cjs
CHANGED
|
@@ -74,8 +74,7 @@ var DEFAULT_CONFIGURATOR_STATE = {
|
|
|
74
74
|
dark: { strength: "none", hue: 220 }
|
|
75
75
|
},
|
|
76
76
|
preview: {
|
|
77
|
-
mode: "light"
|
|
78
|
-
theme: "neutral"
|
|
77
|
+
mode: "light"
|
|
79
78
|
},
|
|
80
79
|
spacing: {
|
|
81
80
|
preset: "md"
|
|
@@ -399,11 +398,6 @@ function configuratorReducer(state, action) {
|
|
|
399
398
|
...state,
|
|
400
399
|
preview: { ...state.preview, mode: action.mode }
|
|
401
400
|
};
|
|
402
|
-
case "SET_PREVIEW_THEME":
|
|
403
|
-
return {
|
|
404
|
-
...state,
|
|
405
|
-
preview: { ...state.preview, theme: action.theme }
|
|
406
|
-
};
|
|
407
401
|
// Control actions
|
|
408
402
|
case "RESET":
|
|
409
403
|
return DEFAULT_CONFIGURATOR_STATE;
|
|
@@ -527,15 +521,6 @@ function toThemeConfig(state) {
|
|
|
527
521
|
const radiusMultiplier = roundnessToMultiplier(state.roundness?.intensity ?? 0.5);
|
|
528
522
|
return {
|
|
529
523
|
colorSystem: { dynamicRange, palettes },
|
|
530
|
-
themes: {
|
|
531
|
-
neutral: { paletteIndex: 0, lightModeNv: 0.95, darkModeNv: 0.1 },
|
|
532
|
-
primary: { paletteIndex: 1, lightModeNv: 0.95, darkModeNv: 0.1 },
|
|
533
|
-
secondary: { paletteIndex: 1, lightModeNv: 0.85, darkModeNv: 0.15 },
|
|
534
|
-
strong: { paletteIndex: 0, lightModeNv: 0.1, darkModeNv: 0.95 }
|
|
535
|
-
},
|
|
536
|
-
elevation: {
|
|
537
|
-
offsets: [-0.02, 0, 0.04]
|
|
538
|
-
},
|
|
539
524
|
spacing: {
|
|
540
525
|
"00": Math.round(spacingBase * 0),
|
|
541
526
|
// Always 0
|
|
@@ -829,7 +814,7 @@ function PalettePanel({ palette, index, dispatch, previewColors, state }) {
|
|
|
829
814
|
onSubmitEditing: handleHexSubmit,
|
|
830
815
|
placeholder: "#000000"
|
|
831
816
|
}
|
|
832
|
-
)), effectiveKeyColor !== void 0 && /* @__PURE__ */ React__default.default.createElement(reactNative.Pressable, { onPress: handleClearKeyColor, style: styles.autoButton }, /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [styles.autoText, { color: newtone.srgbToHex(tokens.
|
|
817
|
+
)), effectiveKeyColor !== void 0 && /* @__PURE__ */ React__default.default.createElement(reactNative.Pressable, { onPress: handleClearKeyColor, style: styles.autoButton }, /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [styles.autoText, { color: newtone.srgbToHex(tokens.accent.fill.srgb) }] }, "Auto"))), hexError !== "" && /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [styles.errorText, { color: newtone.srgbToHex(tokens.error.fill.srgb) }] }, hexError)), isNeutral && previewColors && /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles.inlineSwatches }, previewColors.map((color, i) => /* @__PURE__ */ React__default.default.createElement(
|
|
833
818
|
reactNative.View,
|
|
834
819
|
{
|
|
835
820
|
key: i,
|
|
@@ -1027,38 +1012,20 @@ var styles2 = reactNative.StyleSheet.create({
|
|
|
1027
1012
|
flex: 1
|
|
1028
1013
|
}
|
|
1029
1014
|
});
|
|
1030
|
-
|
|
1031
|
-
{ label: "Neutral", value: "neutral" },
|
|
1032
|
-
{ label: "Primary", value: "primary" },
|
|
1033
|
-
{ label: "Secondary", value: "secondary" },
|
|
1034
|
-
{ label: "Strong", value: "strong" }
|
|
1035
|
-
];
|
|
1036
|
-
function PreviewCard({
|
|
1037
|
-
state,
|
|
1038
|
-
dispatch
|
|
1039
|
-
}) {
|
|
1015
|
+
function PreviewCard() {
|
|
1040
1016
|
const tokens = components.useTokens(1);
|
|
1041
|
-
return /* @__PURE__ */ React__default.default.createElement(components.Card, { elevation: 1, style: styles3.container }, /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [styles3.title, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Component Preview"), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style:
|
|
1042
|
-
|
|
1043
|
-
{
|
|
1044
|
-
options: THEME_OPTIONS,
|
|
1045
|
-
value: state.preview.theme,
|
|
1046
|
-
onValueChange: (t) => dispatch({ type: "SET_PREVIEW_THEME", theme: t }),
|
|
1047
|
-
label: "Theme"
|
|
1048
|
-
}
|
|
1049
|
-
)), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: previewStyles.wrapper }, /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: previewStyles.row }, /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "primary", semantic: "accent", size: "sm" }, "Primary"), /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "primary", semantic: "neutral", size: "sm" }, "Secondary"), /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "tertiary", semantic: "neutral", size: "sm" }, "Ghost"), /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "secondary", semantic: "neutral", size: "sm" }, "Outline")), /* @__PURE__ */ React__default.default.createElement(components.TextInput, { label: "Sample Input", value: "Hello, Newtone", onChangeText: () => {
|
|
1050
|
-
} }), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: previewStyles.row }, /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: [previewStyles.statusDot, { backgroundColor: newtone.srgbToHex(tokens.success.srgb) }] }), /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [previewStyles.statusText, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Success"), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: [previewStyles.statusDot, { backgroundColor: newtone.srgbToHex(tokens.warning.srgb) }] }), /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [previewStyles.statusText, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Warning"), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: [previewStyles.statusDot, { backgroundColor: newtone.srgbToHex(tokens.error.srgb) }] }), /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [previewStyles.statusText, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Error"))));
|
|
1017
|
+
return /* @__PURE__ */ React__default.default.createElement(components.Card, { elevation: 1, style: styles3.container }, /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [styles3.title, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Component Preview"), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: previewStyles.wrapper }, /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: previewStyles.row }, /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "primary", semantic: "accent", size: "sm" }, "Primary"), /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "primary", semantic: "neutral", size: "sm" }, "Secondary"), /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "tertiary", semantic: "neutral", size: "sm" }, "Ghost"), /* @__PURE__ */ React__default.default.createElement(components.Button, { variant: "secondary", semantic: "neutral", size: "sm" }, "Outline")), /* @__PURE__ */ React__default.default.createElement(components.TextInput, { label: "Sample Input", value: "Hello, Newtone", onChangeText: () => {
|
|
1018
|
+
} }), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: previewStyles.row }, /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: [previewStyles.statusDot, { backgroundColor: newtone.srgbToHex(tokens.success.fill.srgb) }] }), /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [previewStyles.statusText, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Success"), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: [previewStyles.statusDot, { backgroundColor: newtone.srgbToHex(tokens.warning.fill.srgb) }] }), /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [previewStyles.statusText, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Warning"), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: [previewStyles.statusDot, { backgroundColor: newtone.srgbToHex(tokens.error.fill.srgb) }] }), /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [previewStyles.statusText, { color: newtone.srgbToHex(tokens.textPrimary.srgb) }] }, "Error"))));
|
|
1051
1019
|
}
|
|
1052
|
-
function PreviewPanel({ state,
|
|
1020
|
+
function PreviewPanel({ state, themeConfig }) {
|
|
1053
1021
|
return /* @__PURE__ */ React__default.default.createElement(
|
|
1054
1022
|
components.NewtoneProvider,
|
|
1055
1023
|
{
|
|
1056
|
-
key:
|
|
1024
|
+
key: state.preview.mode,
|
|
1057
1025
|
config: themeConfig,
|
|
1058
|
-
initialMode: state.preview.mode
|
|
1059
|
-
initialTheme: state.preview.theme
|
|
1026
|
+
initialMode: state.preview.mode
|
|
1060
1027
|
},
|
|
1061
|
-
/* @__PURE__ */ React__default.default.createElement(PreviewCard,
|
|
1028
|
+
/* @__PURE__ */ React__default.default.createElement(PreviewCard, null)
|
|
1062
1029
|
);
|
|
1063
1030
|
}
|
|
1064
1031
|
var styles3 = reactNative.StyleSheet.create({
|
|
@@ -1068,11 +1035,6 @@ var styles3 = reactNative.StyleSheet.create({
|
|
|
1068
1035
|
title: {
|
|
1069
1036
|
fontSize: 16,
|
|
1070
1037
|
fontWeight: "700"
|
|
1071
|
-
},
|
|
1072
|
-
controls: {
|
|
1073
|
-
flexDirection: "row",
|
|
1074
|
-
alignItems: "flex-end",
|
|
1075
|
-
gap: 16
|
|
1076
1038
|
}
|
|
1077
1039
|
});
|
|
1078
1040
|
var previewStyles = reactNative.StyleSheet.create({
|
|
@@ -1103,9 +1065,7 @@ function toCSS(state) {
|
|
|
1103
1065
|
const tokens = components.computeTokens(
|
|
1104
1066
|
config.colorSystem,
|
|
1105
1067
|
mode,
|
|
1106
|
-
config.themes.neutral,
|
|
1107
1068
|
1,
|
|
1108
|
-
config.elevation.offsets,
|
|
1109
1069
|
config.spacing,
|
|
1110
1070
|
config.radius,
|
|
1111
1071
|
config.typography,
|
|
@@ -1124,19 +1084,19 @@ function toCSS(state) {
|
|
|
1124
1084
|
`;
|
|
1125
1085
|
css += ` --newtone-text-secondary: ${newtone.srgbToHex(tokens.textSecondary.srgb)};
|
|
1126
1086
|
`;
|
|
1127
|
-
css += ` --newtone-
|
|
1087
|
+
css += ` --newtone-accent: ${newtone.srgbToHex(tokens.accent.fill.srgb)};
|
|
1128
1088
|
`;
|
|
1129
|
-
css += ` --newtone-
|
|
1089
|
+
css += ` --newtone-accent-hover: ${newtone.srgbToHex(tokens.accent.fillHover.srgb)};
|
|
1130
1090
|
`;
|
|
1131
|
-
css += ` --newtone-
|
|
1091
|
+
css += ` --newtone-accent-active: ${newtone.srgbToHex(tokens.accent.fillActive.srgb)};
|
|
1132
1092
|
`;
|
|
1133
1093
|
css += ` --newtone-border: ${newtone.srgbToHex(tokens.border.srgb)};
|
|
1134
1094
|
`;
|
|
1135
|
-
css += ` --newtone-success: ${newtone.srgbToHex(tokens.success.srgb)};
|
|
1095
|
+
css += ` --newtone-success: ${newtone.srgbToHex(tokens.success.fill.srgb)};
|
|
1136
1096
|
`;
|
|
1137
|
-
css += ` --newtone-warning: ${newtone.srgbToHex(tokens.warning.srgb)};
|
|
1097
|
+
css += ` --newtone-warning: ${newtone.srgbToHex(tokens.warning.fill.srgb)};
|
|
1138
1098
|
`;
|
|
1139
|
-
css += ` --newtone-error: ${newtone.srgbToHex(tokens.error.srgb)};
|
|
1099
|
+
css += ` --newtone-error: ${newtone.srgbToHex(tokens.error.fill.srgb)};
|
|
1140
1100
|
`;
|
|
1141
1101
|
css += `}
|
|
1142
1102
|
|
|
@@ -1365,7 +1325,7 @@ function Configurator({
|
|
|
1365
1325
|
},
|
|
1366
1326
|
label: "Dark Mode"
|
|
1367
1327
|
}
|
|
1368
|
-
)), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.topRow }, /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.topRowPanel }, /* @__PURE__ */ React__default.default.createElement(GlobalPanel, { state, dispatch })), showPreview && /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.topRowPanel }, /* @__PURE__ */ React__default.default.createElement(PreviewPanel, { state,
|
|
1328
|
+
)), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.topRow }, /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.topRowPanel }, /* @__PURE__ */ React__default.default.createElement(GlobalPanel, { state, dispatch })), showPreview && /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.topRowPanel }, /* @__PURE__ */ React__default.default.createElement(PreviewPanel, { state, themeConfig }))), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.designRow }, /* @__PURE__ */ React__default.default.createElement(DesignPanel, { state, dispatch })), /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles6.tabBar }, state.palettes.map((palette, index) => /* @__PURE__ */ React__default.default.createElement(
|
|
1369
1329
|
reactNative.Pressable,
|
|
1370
1330
|
{
|
|
1371
1331
|
key: index,
|