@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.
@@ -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,CAoCtD"}
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,CA8F1E"}
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.interactive.srgb) }] }, "Auto"))), hexError !== "" && /* @__PURE__ */ React__default.default.createElement(reactNative.Text, { style: [styles.errorText, { color: newtone.srgbToHex(tokens.error.srgb) }] }, hexError)), isNeutral && previewColors && /* @__PURE__ */ React__default.default.createElement(reactNative.View, { style: styles.inlineSwatches }, previewColors.map((color, i) => /* @__PURE__ */ React__default.default.createElement(
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
- var THEME_OPTIONS = [
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: styles3.controls }, /* @__PURE__ */ React__default.default.createElement(
1042
- components.Select,
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, dispatch, themeConfig }) {
1020
+ function PreviewPanel({ state, themeConfig }) {
1053
1021
  return /* @__PURE__ */ React__default.default.createElement(
1054
1022
  components.NewtoneProvider,
1055
1023
  {
1056
- key: `${state.preview.mode}-${state.preview.theme}`,
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, { state, dispatch })
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-interactive: ${newtone.srgbToHex(tokens.interactive.srgb)};
1087
+ css += ` --newtone-accent: ${newtone.srgbToHex(tokens.accent.fill.srgb)};
1128
1088
  `;
1129
- css += ` --newtone-interactive-hover: ${newtone.srgbToHex(tokens.interactiveHover.srgb)};
1089
+ css += ` --newtone-accent-hover: ${newtone.srgbToHex(tokens.accent.fillHover.srgb)};
1130
1090
  `;
1131
- css += ` --newtone-interactive-active: ${newtone.srgbToHex(tokens.interactiveActive.srgb)};
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, dispatch, 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(
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,