@cxpinsight/react-native 0.21.0 → 0.23.0

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.
Files changed (49) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/lib/CXPinsight.d.ts +7 -2
  3. package/lib/CXPinsight.d.ts.map +1 -1
  4. package/lib/CXPinsight.js +32 -2
  5. package/lib/CXPinsight.js.map +1 -1
  6. package/lib/CXPinsightProvider.d.ts.map +1 -1
  7. package/lib/CXPinsightProvider.js +3 -0
  8. package/lib/CXPinsightProvider.js.map +1 -1
  9. package/lib/core/firebaseBridge.d.ts +49 -0
  10. package/lib/core/firebaseBridge.d.ts.map +1 -0
  11. package/lib/core/firebaseBridge.js +158 -0
  12. package/lib/core/firebaseBridge.js.map +1 -0
  13. package/lib/core/mobileRecorder.d.ts.map +1 -1
  14. package/lib/core/mobileRecorder.js +23 -1
  15. package/lib/core/mobileRecorder.js.map +1 -1
  16. package/lib/core/networkCapture.d.ts.map +1 -1
  17. package/lib/core/networkCapture.js +9 -4
  18. package/lib/core/networkCapture.js.map +1 -1
  19. package/lib/core/triggerEngine.d.ts.map +1 -1
  20. package/lib/core/triggerEngine.js +10 -3
  21. package/lib/core/triggerEngine.js.map +1 -1
  22. package/lib/survey/SurveyModal.d.ts +4 -1
  23. package/lib/survey/SurveyModal.d.ts.map +1 -1
  24. package/lib/survey/SurveyModal.js +36 -15
  25. package/lib/survey/SurveyModal.js.map +1 -1
  26. package/lib/survey/questions/CSATQuestion.js +1 -1
  27. package/lib/survey/questions/CSATQuestion.js.map +1 -1
  28. package/lib/survey/questions/MultipleChoiceQuestion.d.ts +14 -2
  29. package/lib/survey/questions/MultipleChoiceQuestion.d.ts.map +1 -1
  30. package/lib/survey/questions/MultipleChoiceQuestion.js +67 -7
  31. package/lib/survey/questions/MultipleChoiceQuestion.js.map +1 -1
  32. package/lib/survey/questions/RatingQuestion.d.ts +30 -2
  33. package/lib/survey/questions/RatingQuestion.d.ts.map +1 -1
  34. package/lib/survey/questions/RatingQuestion.js +127 -16
  35. package/lib/survey/questions/RatingQuestion.js.map +1 -1
  36. package/lib/survey/styleContract.d.ts +25 -0
  37. package/lib/survey/styleContract.d.ts.map +1 -1
  38. package/lib/survey/styleContract.js +37 -0
  39. package/lib/survey/styleContract.js.map +1 -1
  40. package/lib/survey/validate.d.ts +2 -1
  41. package/lib/survey/validate.d.ts.map +1 -1
  42. package/lib/survey/validate.js +3 -2
  43. package/lib/survey/validate.js.map +1 -1
  44. package/lib/types.d.ts +16 -0
  45. package/lib/types.d.ts.map +1 -1
  46. package/lib/types.js.map +1 -1
  47. package/lib/version.d.ts +1 -1
  48. package/lib/version.js +1 -1
  49. package/package.json +7 -3
@@ -1,5 +1,5 @@
1
1
  import type { ThemePalette } from '../themePalette';
2
- import { type SurveyStyleContract } from '../styleContract';
2
+ import { type SurveyStyleContract, type StyleOverride } from '../styleContract';
3
3
  interface Props {
4
4
  choices: Array<string | {
5
5
  value: string;
@@ -19,7 +19,19 @@ interface Props {
19
19
  palette?: ThemePalette;
20
20
  /** Full style contract. */
21
21
  contract?: SurveyStyleContract;
22
+ /** 'chips' = a wrapping row of pills (radio) / rounded squares (checkbox),
23
+ * no indicator. Anything else is the list of rows. */
24
+ optionLayout?: string;
25
+ /** Contract fields set BY NAME (explicitContractFields). Chips are new, so
26
+ * their corners and chosen fill have their own defaults, and only an
27
+ * authored optionRadius / optionSelectedBg should replace them. */
28
+ explicit?: StyleOverride;
29
+ /** No radio / checkbox mark: the row itself is the choice. A yes/no draws
30
+ * none unless the survey asks (survey-spec showsYesNoIndicator). */
31
+ hideIndicator?: boolean;
22
32
  }
23
- export declare function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor, isRtl, palette, contract, }: Props): import("react/jsx-runtime").JSX.Element;
33
+ /** Dark or light text, whichever reads on a solid `bg`. Non-hex → `fallback`. */
34
+ export declare function readableOn(bg: string, fallback: string): string;
35
+ export declare function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor, isRtl, palette, contract, optionLayout, explicit, hideIndicator, }: Props): import("react/jsx-runtime").JSX.Element;
24
36
  export {};
25
37
  //# sourceMappingURL=MultipleChoiceQuestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultipleChoiceQuestion.d.ts","sourceRoot":"","sources":["../../../src/survey/questions/MultipleChoiceQuestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,UAAU,KAAK;IACb,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,8DAA8D;IAC9D,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;IAChC,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;oDAEgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAUD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,GACvE,EAAE,KAAK,2CAiGP"}
1
+ {"version":3,"file":"MultipleChoiceQuestion.d.ts","sourceRoot":"","sources":["../../../src/survey/questions/MultipleChoiceQuestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/F,UAAU,KAAK;IACb,OAAO,EAAE,KAAK,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzD,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC;IAC7C,8DAA8D;IAC9D,IAAI,EAAE,YAAY,GAAG,UAAU,CAAC;IAChC,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;oDAEgD;IAChD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;2DACuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;wEAEoE;IACpE,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB;yEACqE;IACrE,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAO/D;AAUD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAC9G,EAAE,KAAK,2CAyJP"}
@@ -1,21 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readableOn = readableOn;
3
4
  exports.MultipleChoiceQuestion = MultipleChoiceQuestion;
4
5
  const jsx_runtime_1 = require("react/jsx-runtime");
5
6
  const react_native_1 = require("react-native");
6
7
  const styleContract_1 = require("../styleContract");
8
+ /** Dark or light text, whichever reads on a solid `bg`. Non-hex → `fallback`. */
9
+ function readableOn(bg, fallback) {
10
+ const m = /^#([0-9a-f]{6})([0-9a-f]{2})?$/i.exec(bg || '');
11
+ if (!m)
12
+ return fallback;
13
+ const n = parseInt(m[1], 16);
14
+ const lin = (v) => { const x = v / 255; return x <= 0.03928 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4); };
15
+ const L = 0.2126 * lin((n >> 16) & 255) + 0.7152 * lin((n >> 8) & 255) + 0.0722 * lin(n & 255);
16
+ return L > 0.4 ? '#030712' : '#ffffff';
17
+ }
7
18
  function getChoiceValue(choice) {
8
19
  return typeof choice === 'string' ? choice : choice.value;
9
20
  }
10
21
  function getChoiceText(choice) {
11
22
  return typeof choice === 'string' ? choice : choice.text;
12
23
  }
13
- function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor, isRtl, palette, contract, }) {
24
+ function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor, isRtl, palette, contract, optionLayout, explicit, hideIndicator, }) {
14
25
  const c = contract ?? styleContract_1.DARK_CONTRACT;
26
+ const ex = explicit ?? {};
27
+ const isChips = optionLayout === 'chips';
15
28
  const restBg = palette?.input ?? c.optionBg;
16
29
  const restBorder = palette?.inputBorder ?? c.optionBorder;
17
- const restText = palette?.textSecondary ?? c.textSecondary;
18
- const selText = palette?.textPrimary ?? c.textPrimary;
30
+ // optionText / optionSelectedText refine the tiers the row always used.
31
+ const restText = c.optionText ?? palette?.textSecondary ?? c.textSecondary;
32
+ const selTextRow = c.optionSelectedText ?? palette?.textPrimary ?? c.textPrimary;
33
+ const fontSize = c.optionFontSize ?? c.fontSizeLabel;
19
34
  const indBorder = palette?.indicatorBorder ?? c.indicatorBorder;
20
35
  // The shipped code derived the selected tint as `${primaryColor}1A`. Preserved
21
36
  // exactly: an explicit primaryColor still wins, and the contract's default is
@@ -28,7 +43,18 @@ function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor,
28
43
  // so the row's border changed and the one mark that says which option is
29
44
  // chosen stayed on the brand colour. Reported on both renderers at once,
30
45
  // which is what a shared default and two separate code paths produce.
31
- const indChecked = primaryColor ?? c.optionSelectedBorder ?? c.indicatorChecked;
46
+ // An indicatorChecked set BY NAME still wins — it is the control labelled
47
+ // "Ring when chosen", and the resolved contract always holds a default for
48
+ // it, so only the explicit set can say an author asked.
49
+ const indChecked = primaryColor ?? ex.indicatorChecked ?? c.optionSelectedBorder ?? c.indicatorChecked;
50
+ // ── chips ─────────────────────────────────────────────────────────────
51
+ // A chip has no indicator, so the chip itself is the mark: chosen is a
52
+ // SOLID accent fill (the studio's stated default), with label text picked to
53
+ // read on it. Corners: a pill for single select, a soft square for multi —
54
+ // the web SDK's chip shapes — unless optionRadius was set by name.
55
+ const chipRadius = ex.optionRadius ?? (mode === 'checkbox' ? 8 : 999);
56
+ const chipSelBg = ex.optionSelectedBg ?? primaryColor ?? c.accent;
57
+ const chipSelText = c.optionSelectedText ?? readableOn(chipSelBg, c.accentText);
32
58
  const isMulti = mode === 'checkbox';
33
59
  const selectedValues = isMulti
34
60
  ? (Array.isArray(value) ? value : value ? [value] : [])
@@ -50,6 +76,22 @@ function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor,
50
76
  onChange(choiceValue);
51
77
  }
52
78
  }
79
+ if (isChips) {
80
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.container, styles.chipWrap, isRtl && styles.rtlRow], children: choices.map((choice) => {
81
+ const cv = getChoiceValue(choice);
82
+ const ct = getChoiceText(choice);
83
+ const isSelected = isMulti ? selectedValues.includes(cv) : selectedSingle === cv;
84
+ return ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [
85
+ styles.chip,
86
+ isMulti ? styles.chipSquare : styles.chipPill,
87
+ { backgroundColor: restBg, borderColor: restBorder, borderRadius: chipRadius },
88
+ isSelected && { backgroundColor: chipSelBg, borderColor: selBorder },
89
+ ], onPress: () => handlePress(cv), activeOpacity: 0.7, accessibilityRole: isMulti ? 'checkbox' : 'radio', accessibilityState: { checked: isSelected }, accessibilityLabel: ct, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
90
+ { color: isSelected ? chipSelText : restText, fontSize, fontFamily: c.fontFamily },
91
+ isRtl && styles.rtlText,
92
+ ], children: ct }) }, cv));
93
+ }) }));
94
+ }
53
95
  return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.container, children: choices.map((choice) => {
54
96
  const cv = getChoiceValue(choice);
55
97
  const ct = getChoiceText(choice);
@@ -63,15 +105,16 @@ function MultipleChoiceQuestion({ choices, value, onChange, mode, primaryColor,
63
105
  // an Arabic reader expects the option marker relative to
64
106
  // the text-flow direction.
65
107
  isRtl && styles.rtlRow,
66
- ], onPress: () => handlePress(cv), activeOpacity: 0.7, accessibilityRole: isMulti ? 'checkbox' : 'radio', accessibilityState: { checked: isSelected }, accessibilityLabel: ct, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
108
+ ], onPress: () => handlePress(cv), activeOpacity: 0.7, accessibilityRole: isMulti ? 'checkbox' : 'radio', accessibilityState: { checked: isSelected }, accessibilityLabel: ct, children: [hideIndicator ? null : ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: [
67
109
  styles.indicator,
68
110
  isMulti && styles.square,
69
111
  { borderColor: indBorder },
70
112
  isSelected && { borderColor: indChecked },
71
- ], children: isSelected && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.checkmark, { color: indChecked }], children: isMulti ? '✓' : '●' })) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
113
+ ], children: isSelected && ((0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [styles.checkmark, { color: indChecked }], children: isMulti ? '✓' : '●' })) })), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
72
114
  styles.optionText,
73
- { color: isSelected ? selText : restText, fontSize: c.fontSizeLabel, fontFamily: c.fontFamily },
115
+ { color: isSelected ? selTextRow : restText, fontSize, fontFamily: c.fontFamily },
74
116
  isRtl && styles.rtlText,
117
+ hideIndicator && { textAlign: 'center' },
75
118
  ], children: ct })] }, cv));
76
119
  }) }));
77
120
  }
@@ -91,6 +134,23 @@ const styles = react_native_1.StyleSheet.create({
91
134
  rtlRow: {
92
135
  flexDirection: 'row-reverse',
93
136
  },
137
+ chipWrap: {
138
+ flexDirection: 'row',
139
+ flexWrap: 'wrap',
140
+ },
141
+ chip: {
142
+ borderWidth: 1,
143
+ paddingVertical: 8,
144
+ alignItems: 'center',
145
+ justifyContent: 'center',
146
+ },
147
+ // The web SDK's chip padding: 16 across a pill, 14 across a square.
148
+ chipPill: {
149
+ paddingHorizontal: 16,
150
+ },
151
+ chipSquare: {
152
+ paddingHorizontal: 14,
153
+ },
94
154
  indicator: {
95
155
  width: 22,
96
156
  height: 22,
@@ -1 +1 @@
1
- {"version":3,"file":"MultipleChoiceQuestion.js","sourceRoot":"","sources":["../../../src/survey/questions/MultipleChoiceQuestion.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MultipleChoiceQuestion.js","sourceRoot":"","sources":["../../../src/survey/questions/MultipleChoiceQuestion.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,21 @@
1
1
  import type { ThemePalette } from '../themePalette';
2
- import { type SurveyStyleContract } from '../styleContract';
2
+ import { type SurveyStyleContract, type StyleOverride } from '../styleContract';
3
+ export type RatingType = 'star' | 'number' | 'smiley' | 'thumb';
3
4
  interface Props {
4
5
  value: number | null;
5
6
  onChange: (value: number) => void;
7
+ /** Lowest value on the scale. Defaults to 1. */
8
+ rateMin?: number;
6
9
  rateMax?: number;
10
+ /**
11
+ * star | number | smiley | thumb. Omitted means 'number' — the boxed scale
12
+ * this component has always drawn (matrix cells rely on it). SurveyModal
13
+ * passes the question's own type, defaulting to 'star' like the web SDK.
14
+ */
15
+ ratingType?: RatingType | string;
16
+ /** Captions under the first and last button. */
17
+ minLabel?: string;
18
+ maxLabel?: string;
7
19
  /**
8
20
  * @deprecated Superseded by `contract.ratingFilledBg`. Still honoured so
9
21
  * existing callers keep working; drop once SurveyModal passes `contract`
@@ -14,7 +26,23 @@ interface Props {
14
26
  palette?: ThemePalette;
15
27
  /** Full style contract. Every colour, radius and type size comes from here. */
16
28
  contract?: SurveyStyleContract;
29
+ /**
30
+ * The contract fields set BY NAME (explicitContractFields). A bare glyph has
31
+ * no box today, so its box colours are read only when someone asked for one —
32
+ * the resolved contract always carries a value and cannot tell us that.
33
+ */
34
+ explicit?: StyleOverride;
17
35
  }
18
- export declare function RatingQuestion({ value, onChange, rateMax, primaryColor, palette, contract, }: Props): import("react/jsx-runtime").JSX.Element;
36
+ /**
37
+ * The glyph for the idx-th button (0-based) of a `count`-long scale.
38
+ *
39
+ * THE WEB SDK'S RULES (survey.js _cxpQ_rating), not the link renderer's. The
40
+ * two disagree: link buckets smileys by VALUE (n ≤ 1 → 😞 … ≥ 5 → 😊) and
41
+ * thumbs by n ≤ 1, so a 0–10 scale there is ten thumbs-up; web spreads the
42
+ * five faces across the scale's POSITION and splits thumbs at the midpoint.
43
+ * Web is the reference for the app, so the phone draws what the web widget does.
44
+ */
45
+ export declare function ratingGlyph(type: string, idx: number, count: number, min: number, filled: boolean): string;
46
+ export declare function RatingQuestion({ value, onChange, rateMin, rateMax, ratingType, minLabel, maxLabel, primaryColor, palette, contract, explicit, }: Props): import("react/jsx-runtime").JSX.Element;
19
47
  export {};
20
48
  //# sourceMappingURL=RatingQuestion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RatingQuestion.d.ts","sourceRoot":"","sources":["../../../src/survey/questions/RatingQuestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CAChC;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EAAE,QAAQ,EAAE,OAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,GAC9D,EAAE,KAAK,2CAgDP"}
1
+ {"version":3,"file":"RatingQuestion.d.ts","sourceRoot":"","sources":["../../../src/survey/questions/RatingQuestion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAiB,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAE/F,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACjC,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAKD;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,MAAM,CAU1G;AAOD,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EAAE,QAAQ,EAAE,OAAW,EAAE,OAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EACzE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAC1C,EAAE,KAAK,2CAsHP"}
@@ -1,33 +1,124 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ratingGlyph = ratingGlyph;
3
4
  exports.RatingQuestion = RatingQuestion;
4
5
  const jsx_runtime_1 = require("react/jsx-runtime");
5
6
  const react_native_1 = require("react-native");
6
7
  const styleContract_1 = require("../styleContract");
7
- function RatingQuestion({ value, onChange, rateMax = 5, primaryColor, palette, contract, }) {
8
+ const RATING_TYPES = ['star', 'number', 'smiley', 'thumb'];
9
+ const FACES = ['😠', '🙁', '😐', '🙂', '😄'];
10
+ /**
11
+ * The glyph for the idx-th button (0-based) of a `count`-long scale.
12
+ *
13
+ * THE WEB SDK'S RULES (survey.js _cxpQ_rating), not the link renderer's. The
14
+ * two disagree: link buckets smileys by VALUE (n ≤ 1 → 😞 … ≥ 5 → 😊) and
15
+ * thumbs by n ≤ 1, so a 0–10 scale there is ten thumbs-up; web spreads the
16
+ * five faces across the scale's POSITION and splits thumbs at the midpoint.
17
+ * Web is the reference for the app, so the phone draws what the web widget does.
18
+ */
19
+ function ratingGlyph(type, idx, count, min, filled) {
20
+ if (type === 'number')
21
+ return String(min + idx);
22
+ // Unfilled star is the outline — the shipped mobile look (CSATQuestion).
23
+ if (type === 'star')
24
+ return filled ? '★' : '☆';
25
+ if (type === 'smiley')
26
+ return FACES[count <= 1 ? 4 : Math.round((idx / (count - 1)) * 4)];
27
+ if (type === 'thumb') {
28
+ const mid = (count - 1) / 2;
29
+ return idx < mid ? '👎' : idx > mid ? '👍' : '👐';
30
+ }
31
+ return String(min + idx);
32
+ }
33
+ /** `#rrggbb` + alpha byte; anything else (rgba(), names) is returned as is. */
34
+ function tint(color, alphaHex) {
35
+ return /^#[0-9a-f]{6}$/i.test(color) ? `${color}${alphaHex}` : color;
36
+ }
37
+ function RatingQuestion({ value, onChange, rateMin = 1, rateMax = 5, ratingType, minLabel, maxLabel, primaryColor, palette, contract, explicit, }) {
8
38
  // Resolution order preserves existing behaviour exactly:
9
39
  // contract (new, widest) ▸ palette + primaryColor (legacy) ▸ dark defaults.
10
40
  // DARK_CONTRACT's values are byte-identical to the literals this file used to
11
41
  // hardcode, so an unstyled render is unchanged.
12
42
  const c = contract ?? styleContract_1.DARK_CONTRACT;
43
+ const ex = explicit ?? {};
44
+ const type = typeof ratingType === 'string' && RATING_TYPES.includes(ratingType.toLowerCase())
45
+ ? ratingType.toLowerCase()
46
+ : 'number';
47
+ const isGlyph = type !== 'number';
48
+ const isStar = type === 'star';
49
+ const lo = Number.isFinite(rateMin) ? Math.round(rateMin) : 1;
50
+ const hi = Number.isFinite(rateMax) && rateMax >= lo ? Math.round(rateMax) : lo + 4;
51
+ const count = hi - lo + 1;
13
52
  const restBg = palette?.input ?? c.ratingBg;
14
53
  const restBorder = palette?.inputBorder ?? c.ratingBorder;
15
54
  const restText = palette?.textSecondary ?? c.ratingText;
16
55
  const fillBg = primaryColor ?? c.ratingFilledBg;
17
56
  const fillBorder = primaryColor ?? c.ratingFilledBorder;
18
- return ((0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.container, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.row, { gap: c.fieldGap }], children: Array.from({ length: rateMax }, (_, i) => {
19
- const num = i + 1;
20
- const selected = value === num;
21
- return ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [
22
- styles.button,
23
- { backgroundColor: restBg, borderColor: restBorder, borderRadius: c.ratingRadius },
24
- selected && { backgroundColor: fillBg, borderColor: fillBorder },
25
- ], onPress: () => onChange(num), activeOpacity: 0.7, accessibilityRole: "button", accessibilityState: { selected }, accessibilityLabel: `${num} of ${rateMax}`, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
26
- styles.buttonText,
27
- { color: restText },
28
- selected && { color: c.ratingFilledText },
29
- ], children: num }) }, num));
30
- }) }) }));
57
+ // ── per-type look ──────────────────────────────────────────────────────
58
+ // Numbers: the boxed scale, every key from the resolved contract.
59
+ // Glyphs: bare symbols — exactly the shipped CSATQuestion star (36pt, no box,
60
+ // ☆ in ratingEmpty, ★ in the accent) — with a box only where one was asked for.
61
+ // 40 for stars, faces and thumbs, as on the web card (owner, 2026-10-30).
62
+ const fontSize = c.ratingFontSize ?? (isGlyph ? 40 : 16);
63
+ const size = c.ratingSize;
64
+ let restStyle;
65
+ let fillStyle;
66
+ let restGlyph;
67
+ let fillGlyph;
68
+ if (!isGlyph) {
69
+ restStyle = { backgroundColor: restBg, borderColor: restBorder, borderRadius: c.ratingRadius };
70
+ fillStyle = { backgroundColor: fillBg, borderColor: fillBorder };
71
+ restGlyph = restText;
72
+ fillGlyph = c.ratingFilledText;
73
+ }
74
+ else {
75
+ const gRestBg = ex.ratingBg ?? 'transparent';
76
+ const gRestBorder = ex.ratingBorder ?? 'transparent';
77
+ restStyle = { backgroundColor: gRestBg, borderColor: gRestBorder, borderRadius: c.ratingRadius };
78
+ if (isStar) {
79
+ // Cumulative fill: every star up to the value. The filled star was the
80
+ // accent (ratingFilledBg) with no box; an authored chosen fill adds the
81
+ // box, and then the glyph moves to ratingFilledText so it stays legible.
82
+ fillStyle = {
83
+ backgroundColor: ex.ratingFilledBg ?? gRestBg,
84
+ borderColor: ex.ratingFilledBorder ?? gRestBorder,
85
+ };
86
+ restGlyph = ex.ratingEmpty ?? ex.ratingText ?? palette?.indicatorBorder ?? c.ratingEmpty;
87
+ fillGlyph = ex.ratingFilledText ?? (ex.ratingFilledBg ? c.ratingFilledText : fillBg);
88
+ }
89
+ else {
90
+ // Smileys and thumbs are colour emoji: a glyph colour cannot show the
91
+ // choice, so the chosen one sits on a tinted box (the link page's look).
92
+ fillStyle = {
93
+ backgroundColor: ex.ratingFilledBg ?? tint(fillBg, '1F'),
94
+ borderColor: ex.ratingFilledBorder ?? fillBorder,
95
+ };
96
+ restGlyph = ex.ratingText ?? restText;
97
+ fillGlyph = ex.ratingFilledText ?? restGlyph;
98
+ }
99
+ }
100
+ // Numbers keep their 48pt box unless resized; a glyph has no size of its own
101
+ // until one is asked for.
102
+ const sizeStyle = isGlyph
103
+ ? (size != null ? { minWidth: size, height: size, paddingVertical: 0 } : null)
104
+ : { minWidth: size ?? 48, height: size ?? 48 };
105
+ const captionMin = minLabel || '';
106
+ const captionMax = maxLabel || '';
107
+ return ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.container, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: [styles.row, { gap: isGlyph ? 8 : c.fieldGap }], children: Array.from({ length: count }, (_, i) => {
108
+ const num = lo + i;
109
+ // Stars fill cumulatively; every other type marks the one chosen.
110
+ const filled = isStar ? value != null && num <= value : value === num;
111
+ return ((0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { style: [
112
+ isGlyph ? styles.glyphButton : styles.button,
113
+ restStyle,
114
+ sizeStyle,
115
+ filled && fillStyle,
116
+ ], onPress: () => onChange(num), activeOpacity: 0.7, accessibilityRole: "button", accessibilityState: { selected: filled }, accessibilityLabel: `${num} of ${hi}`, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: [
117
+ isGlyph ? styles.glyphText : styles.buttonText,
118
+ { color: restGlyph, fontSize },
119
+ filled && { color: fillGlyph },
120
+ ], children: ratingGlyph(type, i, count, lo, filled) }) }, num));
121
+ }) }), (captionMin || captionMax) ? ((0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.captions, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: { color: c.textMuted, fontSize: c.fontSizeSmall, fontFamily: c.fontFamily }, children: captionMin }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: { color: c.textMuted, fontSize: c.fontSizeSmall, fontFamily: c.fontFamily, textAlign: 'right' }, children: captionMax })] })) : null] }));
31
122
  }
32
123
  /* Layout only — every colour, radius and gap now comes from the contract. */
33
124
  const styles = react_native_1.StyleSheet.create({
@@ -37,10 +128,13 @@ const styles = react_native_1.StyleSheet.create({
37
128
  },
38
129
  row: {
39
130
  flexDirection: 'row',
131
+ // Only bites when the scale is wider than the card (a 0–10 numeric
132
+ // scale); a scale that fits lays out exactly as before.
133
+ flexWrap: 'wrap',
134
+ justifyContent: 'center',
40
135
  },
136
+ // Size comes from ratingSize (48 unset — the shipped box).
41
137
  button: {
42
- width: 48,
43
- height: 48,
44
138
  borderWidth: 1,
45
139
  alignItems: 'center',
46
140
  justifyContent: 'center',
@@ -49,5 +143,22 @@ const styles = react_native_1.StyleSheet.create({
49
143
  fontSize: 16,
50
144
  fontWeight: '600',
51
145
  },
146
+ // The shipped star button (CSATQuestion.starButton: padding 4). The 1pt
147
+ // border is transparent unless authored, so 3 + 1 keeps the same footprint.
148
+ glyphButton: {
149
+ padding: 3,
150
+ borderWidth: 1,
151
+ alignItems: 'center',
152
+ justifyContent: 'center',
153
+ },
154
+ glyphText: {
155
+ fontSize: 36,
156
+ },
157
+ captions: {
158
+ alignSelf: 'stretch',
159
+ flexDirection: 'row',
160
+ justifyContent: 'space-between',
161
+ marginTop: 8,
162
+ },
52
163
  });
53
164
  //# sourceMappingURL=RatingQuestion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RatingQuestion.js","sourceRoot":"","sources":["../../../src/survey/questions/RatingQuestion.tsx"],"names":[],"mappings":";;;;AACA,+CAAwE;AAExE,oDAA2E;AAkB3E,wBAA+B,EAC7B,KAAK,EAAE,QAAQ,EAAE,OAAO,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,GACvD;IACN,yDAAyD;IACzD,8EAA8E;IAC9E,8EAA8E;IAC9E,gDAAgD;IAChD,MAAM,CAAC,GAAG,QAAQ,IAAI,6BAAa,CAAC;IAEpC,MAAM,MAAM,GAAO,OAAO,EAAE,KAAK,IAAW,CAAC,CAAC,QAAQ,CAAC;IACvD,MAAM,UAAU,GAAG,OAAO,EAAE,WAAW,IAAK,CAAC,CAAC,YAAY,CAAC;IAC3D,MAAM,QAAQ,GAAK,OAAO,EAAE,aAAa,IAAI,CAAC,CAAC,UAAU,CAAC;IAC1D,MAAM,MAAM,GAAO,YAAY,IAAI,CAAC,CAAC,cAAc,CAAC;IACpD,MAAM,UAAU,GAAG,YAAY,IAAI,CAAC,CAAC,kBAAkB,CAAC;IAExD,OAAO,CACL,uBAAC,mBAAI,IAAC,KAAK,EAAE,MAAM,CAAC,SAAS,YAC3B,uBAAC,mBAAI,IAAC,KAAK,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,YAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,MAAM,QAAQ,GAAG,KAAK,KAAK,GAAG,CAAC;gBAC/B,OAAO,CACL,uBAAC,+BAAgB,IAEf,KAAK,EAAE;wBACL,MAAM,CAAC,MAAM;wBACb,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE;wBAClF,QAAQ,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE;qBACjE,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAC5B,aAAa,EAAE,GAAG,EAClB,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,EAAE,QAAQ,EAAE,EAChC,kBAAkB,EAAE,GAAG,GAAG,OAAO,OAAO,EAAE,YAE1C,uBAAC,mBAAI,IACH,KAAK,EAAE;4BACL,MAAM,CAAC,UAAU;4BACjB,EAAE,KAAK,EAAE,QAAQ,EAAE;4BACnB,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,gBAAgB,EAAE;yBAC1C,YAEA,GAAG,GACC,IApBF,GAAG,CAqBS,CACpB,CAAC;YACJ,CAAC,CAAC,GACG,GACF,CACR,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,MAAM,GAAG,yBAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,QAAQ;KACrB;IACD,GAAG,EAAE;QACH,aAAa,EAAE,KAAK;KACrB;IACD,MAAM,EAAE;QACN,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;IACD,UAAU,EAAE;QACV,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"RatingQuestion.js","sourceRoot":"","sources":["../../../src/survey/questions/RatingQuestion.tsx"],"names":[],"mappings":"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"}
@@ -85,6 +85,13 @@ export interface SurveyStyleContract {
85
85
  indicatorBorder: string;
86
86
  /** The ring/fill when selected. */
87
87
  indicatorChecked: string;
88
+ /** Option label size. Unset → fontSizeLabel. */
89
+ optionFontSize?: number;
90
+ /** Option label colour at rest. Unset → textSecondary. */
91
+ optionText?: string;
92
+ /** Chosen option label colour. Unset → textPrimary (list); on a chip, a
93
+ * colour that reads on the chip's solid fill. */
94
+ optionSelectedText?: string;
88
95
  ratingBg: string;
89
96
  ratingBorder: string;
90
97
  ratingText: string;
@@ -96,6 +103,13 @@ export interface SurveyStyleContract {
96
103
  ratingFilledBg: string;
97
104
  ratingFilledBorder: string;
98
105
  ratingFilledText: string;
106
+ /** Each scale button's height and min width. Optional because the shipped
107
+ * default differs by ratingType — a 48pt box for numbers, the glyph's own
108
+ * size for stars — so one number here could not leave both unchanged. */
109
+ ratingSize?: number;
110
+ /** The number / glyph size inside a scale button. Unset → 16 for numbers,
111
+ * 36 for stars, smileys and thumbs (the shipped literals). */
112
+ ratingFontSize?: number;
99
113
  buttonRadius: number;
100
114
  /** The ✕ — its disc, and where the disc sits.
101
115
  *
@@ -206,6 +220,17 @@ export declare function resolveStyleContract(args: {
206
220
  initOverride?: StyleOverride | null;
207
221
  surveyOverride?: StyleOverride | null;
208
222
  }): SurveyStyleContract;
223
+ /**
224
+ * The contract fields an author (or the host app) set BY NAME — not via the
225
+ * authored-palette fan-out, and not via primaryColor or a theme default.
226
+ *
227
+ * Some surfaces have no box today (a star is a bare glyph, a chip is new) yet
228
+ * the contract always holds a value for ratingBg, optionRadius and friends.
229
+ * Reading those unconditionally would put a box behind every star. The
230
+ * renderer needs to know "did someone ask for this?", and the resolved
231
+ * contract cannot say. Layers are given LOWEST first; later layers win.
232
+ */
233
+ export declare function explicitContractFields(...layers: Array<Record<string, unknown> | null | undefined>): StyleOverride;
209
234
  /** The 9-field shape shipped as `ThemePalette`. Kept working, derived not duplicated. */
210
235
  export interface LegacyThemePalette {
211
236
  card: string;
@@ -1 +1 @@
1
- {"version":3,"file":"styleContract.d.ts","sourceRoot":"","sources":["../../src/survey/styleContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styleContract.d.ts","sourceRoot":"","sources":["../../src/survey/styleContract.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@
30
30
  Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.CSS_VAR_MAP = exports.LIGHT_CONTRACT = exports.DARK_CONTRACT = void 0;
32
32
  exports.resolveStyleContract = resolveStyleContract;
33
+ exports.explicitContractFields = explicitContractFields;
33
34
  exports.toLegacyPalette = toLegacyPalette;
34
35
  exports.fromAuthoredPalette = fromAuthoredPalette;
35
36
  /* ------------------------------------------------------------------ defaults */
@@ -67,6 +68,14 @@ const SHARED = {
67
68
  cardPaddingRight: undefined,
68
69
  cardPaddingBottom: undefined,
69
70
  cardPaddingLeft: undefined,
71
+ // Option / rating refinements — undefined for the same reason, and listed so
72
+ // fromAuthoredPalette's contract-name pass-through (which walks these keys)
73
+ // carries them. The renderer supplies the per-type fallback.
74
+ optionFontSize: undefined,
75
+ optionText: undefined,
76
+ optionSelectedText: undefined,
77
+ ratingSize: undefined,
78
+ ratingFontSize: undefined,
70
79
  inputRadius: 6, // TextQuestion / DateQuestion — was 12
71
80
  optionRadius: 8, // web parity — was 12 // MultipleChoiceQuestion row
72
81
  ratingRadius: 6, // web parity — was 12 // RatingQuestion button
@@ -294,6 +303,34 @@ function resolveStyleContract(args) {
294
303
  });
295
304
  return out;
296
305
  }
306
+ /**
307
+ * The contract fields an author (or the host app) set BY NAME — not via the
308
+ * authored-palette fan-out, and not via primaryColor or a theme default.
309
+ *
310
+ * Some surfaces have no box today (a star is a bare glyph, a chip is new) yet
311
+ * the contract always holds a value for ratingBg, optionRadius and friends.
312
+ * Reading those unconditionally would put a box behind every star. The
313
+ * renderer needs to know "did someone ask for this?", and the resolved
314
+ * contract cannot say. Layers are given LOWEST first; later layers win.
315
+ */
316
+ function explicitContractFields(...layers) {
317
+ const names = new Set(Object.keys(exports.DARK_CONTRACT));
318
+ const out = {};
319
+ for (const layer of layers) {
320
+ if (!layer || typeof layer !== 'object')
321
+ continue;
322
+ for (const [k, v] of Object.entries(layer)) {
323
+ // `textMuted` is ambiguous between the two vocabularies (see
324
+ // fromAuthoredPalette) and no answer surface reads it by name.
325
+ if (!names.has(k) || k === 'textMuted')
326
+ continue;
327
+ if (v === undefined || v === null || v === '')
328
+ continue;
329
+ out[k] = v;
330
+ }
331
+ }
332
+ return out;
333
+ }
297
334
  /** Existing callers of themePalette() keep the exact same shape. */
298
335
  function toLegacyPalette(c) {
299
336
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"styleContract.js","sourceRoot":"","sources":["../../src/survey/styleContract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"styleContract.js","sourceRoot":"","sources":["../../src/survey/styleContract.ts"],"names":[],"mappings":"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"}