@rocapine/react-native-onboarding-ui 1.28.0 → 1.29.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.
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/DatePickerElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAGnD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUvC,CAAC;AAEH,KAAK,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AAEtE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAYF,eAAO,MAAM,0BAA0B,GAAI,kBAAkB,KAAK,KAAG,KAAK,CAAC,YA2H1E,CAAC"}
1
+ {"version":3,"file":"DatePickerElement.d.ts","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/DatePickerElement.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAsB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAO,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAanD,MAAM,MAAM,sBAAsB,GAAG,YAAY,GAAG;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;IACpC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUvC,CAAC;AAEH,KAAK,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC,CAAC;AAEtE,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,mBAAmB,CAAC;IAC7B,GAAG,EAAE,aAAa,CAAC;CACpB,CAAC;AAYF,eAAO,MAAM,0BAA0B,GAAI,kBAAkB,KAAK,KAAG,KAAK,CAAC,YAyH1E,CAAC"}
@@ -12,11 +12,18 @@ const BaseBoxProps_1 = require("./BaseBoxProps");
12
12
  const zod_1 = require("zod");
13
13
  const shared_1 = require("./shared");
14
14
  const GradientBox_1 = require("./GradientBox");
15
+ // The literal "now" resolves to the current date/time at render time.
16
+ // Use it for defaultValue/minimumDate/maximumDate when a static ISO string
17
+ // would go stale (e.g. a max date that should always be today).
18
+ const isDateStringOrNow = (s) => s === "now" || !isNaN(Date.parse(s));
19
+ // Resolve a DatePicker date prop (ISO string or the "now" sentinel) to a Date,
20
+ // or undefined if not set.
21
+ const resolveDate = (s) => s === undefined ? undefined : s === "now" ? new Date() : new Date(s);
15
22
  exports.DatePickerElementPropsSchema = BaseBoxProps_1.BaseBoxPropsSchema.extend({
16
23
  variableName: zod_1.z.string().min(1).optional(),
17
- defaultValue: zod_1.z.string().refine((s) => !isNaN(Date.parse(s)), { message: "Invalid date string" }).optional(),
18
- minimumDate: zod_1.z.string().refine((s) => !isNaN(Date.parse(s)), { message: "Invalid date string" }).optional(),
19
- maximumDate: zod_1.z.string().refine((s) => !isNaN(Date.parse(s)), { message: "Invalid date string" }).optional(),
24
+ defaultValue: zod_1.z.string().refine(isDateStringOrNow, { message: "Invalid date string" }).optional(),
25
+ minimumDate: zod_1.z.string().refine(isDateStringOrNow, { message: "Invalid date string" }).optional(),
26
+ maximumDate: zod_1.z.string().refine(isDateStringOrNow, { message: "Invalid date string" }).optional(),
20
27
  mode: zod_1.z.enum(["date", "time", "datetime"]).optional().default("date"),
21
28
  display: zod_1.z.enum(["default", "spinner", "calendar", "clock", "compact", "inline"]).optional(),
22
29
  textColor: zod_1.z.string().optional(),
@@ -33,18 +40,16 @@ function formatDate(date, mode) {
33
40
  return date.toLocaleDateString([], { dateStyle: "medium" });
34
41
  }
35
42
  const DatePickerElementComponent = ({ element, ctx }) => {
36
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
43
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
37
44
  const { theme, variables, setVariable } = ctx;
38
45
  const { props } = element;
39
46
  const persistedValue = props.variableName ? (_a = variables[props.variableName]) === null || _a === void 0 ? void 0 : _a.value : undefined;
40
47
  const initialDate = persistedValue
41
48
  ? new Date(persistedValue)
42
- : props.defaultValue
43
- ? new Date(props.defaultValue)
44
- : new Date();
49
+ : (_b = resolveDate(props.defaultValue)) !== null && _b !== void 0 ? _b : new Date();
45
50
  const [date, setDate] = (0, react_1.useState)(initialDate);
46
51
  const [isPickerVisible, setPickerVisible] = (0, react_1.useState)(false);
47
- const mode = (_b = props.mode) !== null && _b !== void 0 ? _b : "date";
52
+ const mode = (_c = props.mode) !== null && _c !== void 0 ? _c : "date";
48
53
  // Tracks which variableName has been seeded so re-renders don't clobber a
49
54
  // persisted value that arrived after the first render.
50
55
  const seededVariableRef = (0, react_1.useRef)(undefined);
@@ -91,11 +96,11 @@ const DatePickerElementComponent = ({ element, ctx }) => {
91
96
  value: date,
92
97
  mode,
93
98
  onChange: handleChange,
94
- minimumDate: props.minimumDate ? new Date(props.minimumDate) : undefined,
95
- maximumDate: props.maximumDate ? new Date(props.maximumDate) : undefined,
99
+ minimumDate: resolveDate(props.minimumDate),
100
+ maximumDate: resolveDate(props.maximumDate),
96
101
  // Fall back to theme tokens when CMS props are not provided.
97
- textColor: (_c = props.textColor) !== null && _c !== void 0 ? _c : theme.colors.text.primary,
98
- accentColor: (_d = props.accentColor) !== null && _d !== void 0 ? _d : theme.colors.primary,
102
+ textColor: (_d = props.textColor) !== null && _d !== void 0 ? _d : theme.colors.text.primary,
103
+ accentColor: (_e = props.accentColor) !== null && _e !== void 0 ? _e : theme.colors.primary,
99
104
  locale: props.locale,
100
105
  };
101
106
  if (react_native_1.Platform.OS === "android") {
@@ -105,19 +110,19 @@ const DatePickerElementComponent = ({ element, ctx }) => {
105
110
  justifyContent: "space-between",
106
111
  paddingVertical: 12,
107
112
  paddingHorizontal: 16,
108
- borderRadius: (_e = props.borderRadius) !== null && _e !== void 0 ? _e : 8,
109
- borderWidth: (_f = props.borderWidth) !== null && _f !== void 0 ? _f : 1,
110
- borderColor: (_g = props.borderColor) !== null && _g !== void 0 ? _g : theme.colors.neutral.low,
113
+ borderRadius: (_f = props.borderRadius) !== null && _f !== void 0 ? _f : 8,
114
+ borderWidth: (_g = props.borderWidth) !== null && _g !== void 0 ? _g : 1,
115
+ borderColor: (_h = props.borderColor) !== null && _h !== void 0 ? _h : theme.colors.neutral.low,
111
116
  backgroundColor: theme.colors.neutral.lowest,
112
117
  }, children: [(0, jsx_runtime_1.jsx)(react_native_1.Text, { style: {
113
- color: (_h = props.textColor) !== null && _h !== void 0 ? _h : theme.colors.text.primary,
118
+ color: (_j = props.textColor) !== null && _j !== void 0 ? _j : theme.colors.text.primary,
114
119
  fontSize: theme.typography.textStyles.body.fontSize,
115
- }, children: formatDate(date, mode) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: { color: theme.colors.text.tertiary, fontSize: 16 }, children: "\u203A" })] }), isPickerVisible && ((0, jsx_runtime_1.jsx)(datetimepicker_1.default, Object.assign({}, pickerProps, { display: ((_j = props.display) !== null && _j !== void 0 ? _j : "default"), onChange: (event, selected) => {
120
+ }, children: formatDate(date, mode) }), (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: { color: theme.colors.text.tertiary, fontSize: 16 }, children: "\u203A" })] }), isPickerVisible && ((0, jsx_runtime_1.jsx)(datetimepicker_1.default, Object.assign({}, pickerProps, { display: ((_k = props.display) !== null && _k !== void 0 ? _k : "default"), onChange: (event, selected) => {
116
121
  setPickerVisible(false);
117
122
  handleChange(event, selected);
118
123
  } })))] }));
119
124
  }
120
- return ((0, jsx_runtime_1.jsx)(GradientBox_1.GradientBox, { gradient: props.backgroundGradient, style: containerStyle, children: (0, jsx_runtime_1.jsx)(datetimepicker_1.default, Object.assign({}, pickerProps, { display: ((_k = props.display) !== null && _k !== void 0 ? _k : "spinner") })) }));
125
+ return ((0, jsx_runtime_1.jsx)(GradientBox_1.GradientBox, { gradient: props.backgroundGradient, style: containerStyle, children: (0, jsx_runtime_1.jsx)(datetimepicker_1.default, Object.assign({}, pickerProps, { display: ((_l = props.display) !== null && _l !== void 0 ? _l : "spinner") })) }));
121
126
  };
122
127
  exports.DatePickerElementComponent = DatePickerElementComponent;
123
128
  //# sourceMappingURL=DatePickerElement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/DatePickerElement.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatePickerElement.js","sourceRoot":"","sources":["../../../../../src/UI/Pages/ComposableScreen/elements/DatePickerElement.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocapine/react-native-onboarding-ui",
3
- "version": "1.28.0",
3
+ "version": "1.29.0",
4
4
  "description": "UI components and renderers for Rocapine Onboarding Studio - Built on top of the headless SDK",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -7,6 +7,16 @@ import type { UIElement } from "../types";
7
7
  import { dim, type RenderContext } from "./shared";
8
8
  import { GradientBox } from "./GradientBox";
9
9
 
10
+ // The literal "now" resolves to the current date/time at render time.
11
+ // Use it for defaultValue/minimumDate/maximumDate when a static ISO string
12
+ // would go stale (e.g. a max date that should always be today).
13
+ const isDateStringOrNow = (s: string) => s === "now" || !isNaN(Date.parse(s));
14
+
15
+ // Resolve a DatePicker date prop (ISO string or the "now" sentinel) to a Date,
16
+ // or undefined if not set.
17
+ const resolveDate = (s?: string): Date | undefined =>
18
+ s === undefined ? undefined : s === "now" ? new Date() : new Date(s);
19
+
10
20
  export type DatePickerElementProps = BaseBoxProps & {
11
21
  variableName?: string;
12
22
  defaultValue?: string;
@@ -21,9 +31,9 @@ export type DatePickerElementProps = BaseBoxProps & {
21
31
 
22
32
  export const DatePickerElementPropsSchema = BaseBoxPropsSchema.extend({
23
33
  variableName: z.string().min(1).optional(),
24
- defaultValue: z.string().refine((s) => !isNaN(Date.parse(s)), { message: "Invalid date string" }).optional(),
25
- minimumDate: z.string().refine((s) => !isNaN(Date.parse(s)), { message: "Invalid date string" }).optional(),
26
- maximumDate: z.string().refine((s) => !isNaN(Date.parse(s)), { message: "Invalid date string" }).optional(),
34
+ defaultValue: z.string().refine(isDateStringOrNow, { message: "Invalid date string" }).optional(),
35
+ minimumDate: z.string().refine(isDateStringOrNow, { message: "Invalid date string" }).optional(),
36
+ maximumDate: z.string().refine(isDateStringOrNow, { message: "Invalid date string" }).optional(),
27
37
  mode: z.enum(["date", "time", "datetime"]).optional().default("date"),
28
38
  display: z.enum(["default", "spinner", "calendar", "clock", "compact", "inline"]).optional(),
29
39
  textColor: z.string().optional(),
@@ -55,9 +65,7 @@ export const DatePickerElementComponent = ({ element, ctx }: Props): React.React
55
65
  const persistedValue = props.variableName ? variables[props.variableName]?.value : undefined;
56
66
  const initialDate = persistedValue
57
67
  ? new Date(persistedValue)
58
- : props.defaultValue
59
- ? new Date(props.defaultValue)
60
- : new Date();
68
+ : resolveDate(props.defaultValue) ?? new Date();
61
69
 
62
70
  const [date, setDate] = useState<Date>(initialDate);
63
71
  const [isPickerVisible, setPickerVisible] = useState(false);
@@ -114,8 +122,8 @@ export const DatePickerElementComponent = ({ element, ctx }: Props): React.React
114
122
  value: date,
115
123
  mode,
116
124
  onChange: handleChange,
117
- minimumDate: props.minimumDate ? new Date(props.minimumDate) : undefined,
118
- maximumDate: props.maximumDate ? new Date(props.maximumDate) : undefined,
125
+ minimumDate: resolveDate(props.minimumDate),
126
+ maximumDate: resolveDate(props.maximumDate),
119
127
  // Fall back to theme tokens when CMS props are not provided.
120
128
  textColor: props.textColor ?? theme.colors.text.primary,
121
129
  accentColor: props.accentColor ?? theme.colors.primary,