@wix/himalaya-cli 0.1174.0 → 0.1175.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.
package/dist/cli.mjs CHANGED
@@ -24519,6 +24519,7 @@ function shouldRevealError(args) {
24519
24519
  var EMAIL_RE, URL_HOST_RE, INTEGER_RE, NUMBER_RE;
24520
24520
  var init_validation = __esm({
24521
24521
  "../../core/ts/src/validation.ts"() {
24522
+ "use strict";
24522
24523
  EMAIL_RE = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}$/;
24523
24524
  URL_HOST_RE = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(:[0-9]+)?$/;
24524
24525
  INTEGER_RE = /^[+-]?[0-9]+$/;
@@ -25178,6 +25179,7 @@ function validateWorkerSubtree(raw, slotId, policy, actionCatalog) {
25178
25179
  var WORKER_SUBTREE_CEILINGS, ID_PART, ACTION_ID;
25179
25180
  var init_worker_subtree = __esm({
25180
25181
  "../../core/ts/src/worker-subtree.ts"() {
25182
+ "use strict";
25181
25183
  init_worker_subtree_safe_types_generated();
25182
25184
  WORKER_SUBTREE_CEILINGS = Object.freeze({
25183
25185
  maxEncodedBytes: 65536,
@@ -35253,6 +35255,12 @@ function renderInner(node, ctx) {
35253
35255
  }
35254
35256
  );
35255
35257
  const fieldLabel = asBoundText(props.label, ctx);
35258
+ if (isTextKind && typeof props.label === "string" && props.label) {
35259
+ inner.modifiers = { accessibilityLabel: props.label };
35260
+ }
35261
+ if (isTextKind && typeof props.helpText === "string" && props.helpText) {
35262
+ inner.modifiers = { ...inner.modifiers ?? {}, accessibilityHint: props.helpText };
35263
+ }
35256
35264
  const showOwnError = !isTextKind && props.errorMessage;
35257
35265
  return /* @__PURE__ */ jsxs5("div", { style: { width: "100%", ...wrap }, children: [
35258
35266
  (fieldLabel || props.required) && /* @__PURE__ */ jsxs5("div", { style: { fontFamily: bodyFont(ctx), fontWeight: 600, fontSize: pxToRem(13), color: C("textPrimary", "#111"), marginBottom: 6 }, children: [
@@ -35781,13 +35789,18 @@ var init_renderNode = __esm({
35781
35789
  AUTOCAPITALIZE_VALUES = /* @__PURE__ */ new Set(["none", "words", "sentences", "characters"]);
35782
35790
  ENTER_KEY_HINTS = /* @__PURE__ */ new Set(["done", "go", "next", "send", "search"]);
35783
35791
  AUTOGROW_CEILING = 12;
35784
- EditableField = ({ props, ctx, wrap, multiline, id: htmlId, "data-component-id": componentId, "data-component-type": componentType, tabIndex: tabIndexProp, "data-hm-synthetic-tabindex": tabIndexIsSynthetic, "data-himalaya-initial-focus": initialFocusMarker, "aria-live": ariaLive, "aria-atomic": ariaAtomic, "aria-relevant": ariaRelevant, "aria-label": ariaLabelProp }) => {
35792
+ EditableField = ({ props, ctx, wrap, multiline, id: htmlId, "data-component-id": componentId, "data-component-type": componentType, tabIndex: tabIndexProp, "data-hm-synthetic-tabindex": tabIndexIsSynthetic, "data-himalaya-initial-focus": initialFocusMarker, "aria-live": ariaLive, "aria-atomic": ariaAtomic, "aria-relevant": ariaRelevant, "aria-label": ariaLabelProp, "aria-describedby": describedByProp }) => {
35785
35793
  const tabIndex = tabIndexIsSynthetic === true ? void 0 : tabIndexProp;
35786
35794
  const a11yFwd = { tabIndex, "data-himalaya-initial-focus": initialFocusMarker, "aria-live": ariaLive, "aria-atomic": ariaAtomic, "aria-relevant": ariaRelevant };
35787
35795
  const C = ctx.color;
35788
35796
  const ctrl = props.text ?? props.value;
35789
35797
  const cfg = ctrl && typeof ctrl === "object" ? ctrl : {};
35790
- const placeholder2 = String(props.placeholder ?? cfg.placeholder ?? "Type here\u2026");
35798
+ const rawPlaceholder = props.placeholder ?? cfg.placeholder;
35799
+ const resolvedPlaceholder = useResolvedScalar(rawPlaceholder, ctx);
35800
+ const placeholderIsBinding = isBinding(rawPlaceholder);
35801
+ const placeholder2 = rawPlaceholder == null || placeholderIsBinding && resolvedPlaceholder == null ? "Type here\u2026" : placeholderIsBinding ? asTextL10n(resolvedPlaceholder, ctx) : asText2(rawPlaceholder);
35802
+ const prefixText = useBoundString(props.prefix, ctx);
35803
+ const suffixText = useBoundString(props.suffix, ctx);
35791
35804
  const valueBinding = typeof ctrl === "string" ? ctrl : cfg.value;
35792
35805
  const onChangeAction = props.onChange ?? cfg.onChange;
35793
35806
  const borderless = props.borderless === true || cfg.borderless === true;
@@ -35826,10 +35839,18 @@ var init_renderNode = __esm({
35826
35839
  const errorBindingRaw = props.errorPath ?? cfg.errorPath;
35827
35840
  const errorBinding = typeof errorBindingRaw === "string" && isBinding(errorBindingRaw) ? errorBindingRaw : "";
35828
35841
  const boundError = useBoundValue(ctx, errorBinding);
35829
- const workerError = typeof boundError === "string" ? boundError : props.errorText ?? cfg.errorText;
35842
+ const errorTextRaw = props.errorText ?? cfg.errorText;
35843
+ const errorTextResolved = useBoundString(errorTextRaw, ctx);
35844
+ const workerError = typeof boundError === "string" ? boundError : errorTextRaw == null ? void 0 : errorTextResolved;
35830
35845
  const [touched, setTouched] = React7.useState(false);
35831
35846
  const [isFocused, setIsFocused] = React7.useState(false);
35832
- const message = errorMessageFor({ rule, value: local, workerError });
35847
+ const validationCatalog = React7.useMemo(
35848
+ () => ctx.catalog ? new Proxy({}, { get: (_t, k) => typeof k === "string" ? ctx.catalog.get(k) : void 0 }) : void 0,
35849
+ [ctx.catalog]
35850
+ );
35851
+ const rawMessage = errorMessageFor({ rule, value: local, workerError, catalog: validationCatalog });
35852
+ const resolvedMessage = useBoundString(rawMessage ?? "", ctx);
35853
+ const message = rawMessage === null || !resolvedMessage.trim() ? null : resolvedMessage;
35833
35854
  const revealed = message !== null && shouldRevealError({
35834
35855
  rule,
35835
35856
  hasWorkerError: Boolean(workerError && workerError.trim()),
@@ -35927,9 +35948,9 @@ var init_renderNode = __esm({
35927
35948
  return /* @__PURE__ */ jsxs5("div", { style: { display: "flex", flexDirection: "column", gap: 4, width: "100%" }, children: [
35928
35949
  /* @__PURE__ */ jsxs5("div", { style: box, children: [
35929
35950
  props.leadingIcon && accIcon(props.leadingIcon),
35930
- props.prefix && /* @__PURE__ */ jsx8("span", { style: { color: muted, flex: "none" }, children: String(props.prefix) }),
35931
- multilineBox ? /* @__PURE__ */ jsx8("textarea", { "data-component-id": componentId, id: htmlId, "data-component-type": componentType, ...a11yFwd, ref: inputRef, value: local, onChange: onInput, onFocus: onFieldFocus, onBlur: onFieldBlur, placeholder: placeholder2, rows: 2, "aria-label": ariaLabelProp ?? placeholder2, "aria-invalid": errored || void 0, "aria-describedby": errorId, inputMode, autoCapitalize, maxLength, autoCorrect: suggestOff ? "off" : suggestOn ? "on" : void 0, spellCheck: suggestOff ? false : suggestOn ? true : void 0, autoComplete: suggestOff ? "off" : void 0, style: inputBase }) : /* @__PURE__ */ jsx8("input", { "data-component-id": componentId, id: htmlId, "data-component-type": componentType, ...a11yFwd, ref: inputRef, type: secure ? "password" : "text", value: local, onChange: onInput, onKeyDown, onFocus: onFieldFocus, onBlur: onFieldBlur, placeholder: placeholder2, "aria-label": ariaLabelProp ?? placeholder2, "aria-invalid": errored || void 0, "aria-describedby": errorId, inputMode, autoCapitalize, maxLength, autoCorrect: suggestOff ? "off" : suggestOn ? "on" : void 0, spellCheck: suggestOff ? false : suggestOn ? true : void 0, autoComplete: suggestOff ? "off" : void 0, enterKeyHint, style: inputBase }),
35932
- props.suffix && /* @__PURE__ */ jsx8("span", { style: { color: muted, flex: "none" }, children: String(props.suffix) }),
35951
+ prefixText && /* @__PURE__ */ jsx8("span", { style: { color: muted, flex: "none" }, children: prefixText }),
35952
+ multilineBox ? /* @__PURE__ */ jsx8("textarea", { "data-component-id": componentId, id: htmlId, "data-component-type": componentType, ...a11yFwd, ref: inputRef, value: local, onChange: onInput, onFocus: onFieldFocus, onBlur: onFieldBlur, placeholder: placeholder2, rows: 2, "aria-label": ariaLabelProp ?? placeholder2, "aria-invalid": errored || void 0, "aria-describedby": [errorId, describedByProp].filter(Boolean).join(" ") || void 0, inputMode, autoCapitalize, maxLength, autoCorrect: suggestOff ? "off" : suggestOn ? "on" : void 0, spellCheck: suggestOff ? false : suggestOn ? true : void 0, autoComplete: suggestOff ? "off" : void 0, style: inputBase }) : /* @__PURE__ */ jsx8("input", { "data-component-id": componentId, id: htmlId, "data-component-type": componentType, ...a11yFwd, ref: inputRef, type: secure ? "password" : "text", value: local, onChange: onInput, onKeyDown, onFocus: onFieldFocus, onBlur: onFieldBlur, placeholder: placeholder2, "aria-label": ariaLabelProp ?? placeholder2, "aria-invalid": errored || void 0, "aria-describedby": [errorId, describedByProp].filter(Boolean).join(" ") || void 0, inputMode, autoCapitalize, maxLength, autoCorrect: suggestOff ? "off" : suggestOn ? "on" : void 0, spellCheck: suggestOff ? false : suggestOn ? true : void 0, autoComplete: suggestOff ? "off" : void 0, enterKeyHint, style: inputBase }),
35953
+ suffixText && /* @__PURE__ */ jsx8("span", { style: { color: muted, flex: "none" }, children: suffixText }),
35933
35954
  props.clearButton && local && /* @__PURE__ */ jsx8("span", { onClick: () => {
35934
35955
  setLocal("");
35935
35956
  emit("");
@@ -38460,6 +38481,7 @@ var init_renderNode = __esm({
38460
38481
  return /* @__PURE__ */ jsxs5("div", { ...{ [A11Y_PART]: "root" }, style: { width: "100%", ...wrap }, children: [
38461
38482
  /* @__PURE__ */ jsxs5("div", { style: { position: "relative", height: Math.min(props.expandedHeight ?? 120, 160), borderRadius: ctx.radius("md", 10), overflow: "hidden", background: imageUrl ? void 0 : `linear-gradient(135deg, ${C("accentPrimary", "#116DFF")}, ${C("accentSecondary", "#0E5FE3")})` }, children: [
38462
38483
  imageUrl && /* @__PURE__ */ jsx8("img", { src: imageUrl, alt: "", style: { width: "100%", height: "100%", objectFit: "cover" } }),
38484
+ imageUrl && /* @__PURE__ */ jsx8("div", { "data-testid": "collapsing-header-scrim", "aria-hidden": "true", style: { position: "absolute", left: 0, right: 0, bottom: 0, height: "60%", background: "linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,0.45))", pointerEvents: "none" } }),
38463
38485
  /* @__PURE__ */ jsxs5("div", { style: { position: "absolute", left: 14, bottom: 12, color: "#fff", textShadow: "0 1px 4px rgba(0,0,0,.5)" }, children: [
38464
38486
  /* @__PURE__ */ jsx8("div", { ...{ [A11Y_PART]: "node" }, role: "heading", "aria-level": 2, style: { fontFamily: ctx.font("title1").family || ctx.idiom && ctx.idiom !== "base" ? fontStack(ctx.font("title1").family, ctx.idiom) : '"Wix Madefor Display", system-ui', fontWeight: 700, fontSize: pxToRem(20) }, children: txt(props.title, ctx) }),
38465
38487
  props.subtitle && /* @__PURE__ */ jsx8("div", { style: { fontSize: pxToRem(13), opacity: 0.9 }, children: txt(props.subtitle, ctx) })
@@ -60264,21 +60286,21 @@ var init_preview_assets_generated = __esm({
60264
60286
  "../../packages/serve/src/preview-assets.generated.ts"() {
60265
60287
  init_preview_assets_format();
60266
60288
  PREVIEW_ASSET_MANIFEST = [
60267
- { key: "assets/index-Ctt1n3e8.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1132082, sha256: "58a8eb07cd4a6bf0fb735b45cc42f1a2014647bbcc385425be2d867b289fce19" },
60268
- { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1132090, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
60269
- { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1136700, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
60270
- { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1625284, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
60271
- { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1716208, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
60272
- { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1807192, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
60273
- { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1898172, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
60274
- { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1989044, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
60275
- { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2080024, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
60276
- { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2188660, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
60277
- { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2297744, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
60278
- { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2406792, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
60279
- { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2514492, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
60280
- { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2602600, length: 4947, sha256: "35d5f5e7975e3975dd3efac82d1c12f81c6e29fd16fe74247b9ebf881b0e6d31" },
60281
- { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2607547, length: 17344, sha256: "d057298d75e7373e5e2c4d11b7d1bcbea88e03af555ba63d97641c78509c58e4" }
60289
+ { key: "assets/index-DfY-tQ6i.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1132878, sha256: "3d63b2fab780ecf40caeff8f5576743a1dade0dd92e7cbc4fa9ee26a60985b7e" },
60290
+ { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1132886, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
60291
+ { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1137496, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
60292
+ { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1626080, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
60293
+ { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1717004, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
60294
+ { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1807988, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
60295
+ { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1898968, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
60296
+ { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1989840, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
60297
+ { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2080820, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
60298
+ { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2189456, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
60299
+ { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2298540, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
60300
+ { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2407588, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
60301
+ { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2515288, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
60302
+ { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2603396, length: 4947, sha256: "4c476f213d92ec00b1f5e5fe4f88d458ccdd9cf6c6e7684f49f115f70930f9bb" },
60303
+ { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2608343, length: 17344, sha256: "d057298d75e7373e5e2c4d11b7d1bcbea88e03af555ba63d97641c78509c58e4" }
60282
60304
  ];
60283
60305
  }
60284
60306
  });
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1174.0",
3
+ "version": "0.1175.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -67,5 +67,5 @@
67
67
  "artifactId": "himalaya-cli"
68
68
  }
69
69
  },
70
- "falconPackageHash": "67d51a3995755dd7861ad74fab421d09ed2ecd3590c2d5df555e0068"
70
+ "falconPackageHash": "999c69dbc38f54c8d50554c6b57cd8fea4e4c0dcafad92b33458e139"
71
71
  }
@@ -21353,50 +21353,72 @@ const SCREENS = runtimeSetting({
21353
21353
  }
21354
21354
  },
21355
21355
  {
21356
- "id": "himi_create_post.title_field",
21356
+ "id": "himi_create_post.form",
21357
21357
  "body": {
21358
21358
  "package": "himalaya",
21359
- "type": "TextField",
21360
- "props": {
21361
- "placeholder": "Title",
21362
- "value": "",
21363
- "submitLabel": "next",
21364
- "onSubmit": {
21365
- "actionId": "tier5.spacesCreatePost.focusBody"
21366
- },
21367
- "onChange": {
21368
- "actionId": "tier5.spacesCreatePost.setTitle"
21369
- }
21370
- }
21371
- }
21372
- },
21373
- {
21374
- "id": "himi_create_post.body_field",
21375
- "body": {
21376
- "package": "himalaya",
21377
- "type": "TextField",
21359
+ "type": "Form",
21378
21360
  "props": {
21379
- "placeholder": "Write something…",
21380
- "value": "",
21381
- "multilineMaxLines": 6,
21382
- "focusPath": "$service:spacesCreatePost.bodyFocus",
21383
- "onChange": {
21384
- "actionId": "tier5.spacesCreatePost.setBody"
21385
- }
21386
- }
21387
- }
21388
- },
21389
- {
21390
- "id": "himi_create_post.submit",
21391
- "body": {
21392
- "package": "himalaya",
21393
- "type": "Button",
21394
- "props": {
21395
- "title": "Post",
21396
- "style": "primary",
21397
- "fullWidth": true,
21398
- "action": {
21399
- "actionId": "tier5.spacesCreatePost.submit"
21361
+ "id": "himiCreatePostForm",
21362
+ "fields": [
21363
+ {
21364
+ "id": "himi_create_post.title_field",
21365
+ "body": {
21366
+ "package": "himalaya",
21367
+ "type": "FormField",
21368
+ "props": {
21369
+ "id": "title",
21370
+ "label": "Title",
21371
+ "kind": "text",
21372
+ "text": {
21373
+ "placeholder": "Add a title",
21374
+ "value": "",
21375
+ "submitLabel": "next",
21376
+ "onSubmit": {
21377
+ "actionId": "tier5.spacesCreatePost.focusBody"
21378
+ },
21379
+ "onChange": {
21380
+ "actionId": "tier5.spacesCreatePost.setTitle"
21381
+ }
21382
+ }
21383
+ }
21384
+ }
21385
+ },
21386
+ {
21387
+ "id": "himi_create_post.body_field",
21388
+ "body": {
21389
+ "package": "himalaya",
21390
+ "type": "FormField",
21391
+ "props": {
21392
+ "id": "body",
21393
+ "label": "Your post",
21394
+ "kind": "text",
21395
+ "text": {
21396
+ "placeholder": "Write something…",
21397
+ "value": "",
21398
+ "multilineMaxLines": 6,
21399
+ "focusPath": "$service:spacesCreatePost.bodyFocus",
21400
+ "onChange": {
21401
+ "actionId": "tier5.spacesCreatePost.setBody"
21402
+ }
21403
+ }
21404
+ }
21405
+ }
21406
+ }
21407
+ ],
21408
+ "submitButton": {
21409
+ "id": "himi_create_post.submit",
21410
+ "body": {
21411
+ "package": "himalaya",
21412
+ "type": "Button",
21413
+ "props": {
21414
+ "title": "Post",
21415
+ "style": "primary",
21416
+ "fullWidth": true,
21417
+ "action": {
21418
+ "actionId": "tier5.spacesCreatePost.submit"
21419
+ }
21420
+ }
21421
+ }
21400
21422
  }
21401
21423
  }
21402
21424
  }
@@ -21599,14 +21599,14 @@ const SCREENS = runtimeSetting({
21599
21599
  "alignment": "leading",
21600
21600
  "children": [
21601
21601
  {
21602
- "id": "",
21602
+ "id": "himi_reserve.location",
21603
21603
  "body": {
21604
21604
  "package": "himalaya",
21605
21605
  "type": "Text",
21606
21606
  "props": {
21607
21607
  "text": "$service:himiBrandedReserve.locationLabel",
21608
21608
  "style": "caption",
21609
- "color": "accentPrimary",
21609
+ "color": "textSecondary",
21610
21610
  "collapseWhenEmpty": true
21611
21611
  }
21612
21612
  }
@@ -21775,7 +21775,7 @@ const SCREENS = runtimeSetting({
21775
21775
  "required": true,
21776
21776
  "kind": "text",
21777
21777
  "text": {
21778
- "placeholder": "First name",
21778
+ "placeholder": "Dana",
21779
21779
  "autoCapitalization": "words"
21780
21780
  }
21781
21781
  }
@@ -21789,9 +21789,10 @@ const SCREENS = runtimeSetting({
21789
21789
  "props": {
21790
21790
  "id": "lastName",
21791
21791
  "label": "Last name",
21792
+ "helpText": "Optional",
21792
21793
  "kind": "text",
21793
21794
  "text": {
21794
- "placeholder": "Last name",
21795
+ "placeholder": "Cohen",
21795
21796
  "autoCapitalization": "words"
21796
21797
  }
21797
21798
  }
@@ -21808,7 +21809,7 @@ const SCREENS = runtimeSetting({
21808
21809
  "required": true,
21809
21810
  "kind": "text",
21810
21811
  "text": {
21811
- "placeholder": "Phone number",
21812
+ "placeholder": "+1 555 0100",
21812
21813
  "keyboard": "phone",
21813
21814
  "autoCapitalization": "none"
21814
21815
  }
@@ -21823,9 +21824,10 @@ const SCREENS = runtimeSetting({
21823
21824
  "props": {
21824
21825
  "id": "email",
21825
21826
  "label": "Email",
21827
+ "helpText": "Optional",
21826
21828
  "kind": "text",
21827
21829
  "text": {
21828
- "placeholder": "Email (optional)",
21830
+ "placeholder": "dana@example.com",
21829
21831
  "keyboard": "email",
21830
21832
  "autoCapitalization": "none"
21831
21833
  }
@@ -47850,50 +47852,72 @@ const SCREENS = runtimeSetting({
47850
47852
  }
47851
47853
  },
47852
47854
  {
47853
- "id": "himi_create_post.title_field",
47854
- "body": {
47855
- "package": "himalaya",
47856
- "type": "TextField",
47857
- "props": {
47858
- "placeholder": "Title",
47859
- "value": "",
47860
- "submitLabel": "next",
47861
- "onSubmit": {
47862
- "actionId": "tier5.spacesCreatePost.focusBody"
47863
- },
47864
- "onChange": {
47865
- "actionId": "tier5.spacesCreatePost.setTitle"
47866
- }
47867
- }
47868
- }
47869
- },
47870
- {
47871
- "id": "himi_create_post.body_field",
47855
+ "id": "himi_create_post.form",
47872
47856
  "body": {
47873
47857
  "package": "himalaya",
47874
- "type": "TextField",
47875
- "props": {
47876
- "placeholder": "Write something…",
47877
- "value": "",
47878
- "multilineMaxLines": 6,
47879
- "focusPath": "$service:spacesCreatePost.bodyFocus",
47880
- "onChange": {
47881
- "actionId": "tier5.spacesCreatePost.setBody"
47882
- }
47883
- }
47884
- }
47885
- },
47886
- {
47887
- "id": "himi_create_post.submit",
47888
- "body": {
47889
- "package": "himalaya",
47890
- "type": "Button",
47858
+ "type": "Form",
47891
47859
  "props": {
47892
- "title": "Post",
47893
- "style": "primary",
47894
- "fullWidth": true,
47895
- "action": {
47896
- "actionId": "tier5.spacesCreatePost.submit"
47860
+ "id": "himiCreatePostForm",
47861
+ "fields": [
47862
+ {
47863
+ "id": "himi_create_post.title_field",
47864
+ "body": {
47865
+ "package": "himalaya",
47866
+ "type": "FormField",
47867
+ "props": {
47868
+ "id": "title",
47869
+ "label": "Title",
47870
+ "kind": "text",
47871
+ "text": {
47872
+ "placeholder": "Add a title",
47873
+ "value": "",
47874
+ "submitLabel": "next",
47875
+ "onSubmit": {
47876
+ "actionId": "tier5.spacesCreatePost.focusBody"
47877
+ },
47878
+ "onChange": {
47879
+ "actionId": "tier5.spacesCreatePost.setTitle"
47880
+ }
47881
+ }
47882
+ }
47883
+ }
47884
+ },
47885
+ {
47886
+ "id": "himi_create_post.body_field",
47887
+ "body": {
47888
+ "package": "himalaya",
47889
+ "type": "FormField",
47890
+ "props": {
47891
+ "id": "body",
47892
+ "label": "Your post",
47893
+ "kind": "text",
47894
+ "text": {
47895
+ "placeholder": "Write something…",
47896
+ "value": "",
47897
+ "multilineMaxLines": 6,
47898
+ "focusPath": "$service:spacesCreatePost.bodyFocus",
47899
+ "onChange": {
47900
+ "actionId": "tier5.spacesCreatePost.setBody"
47901
+ }
47902
+ }
47903
+ }
47904
+ }
47905
+ }
47906
+ ],
47907
+ "submitButton": {
47908
+ "id": "himi_create_post.submit",
47909
+ "body": {
47910
+ "package": "himalaya",
47911
+ "type": "Button",
47912
+ "props": {
47913
+ "title": "Post",
47914
+ "style": "primary",
47915
+ "fullWidth": true,
47916
+ "action": {
47917
+ "actionId": "tier5.spacesCreatePost.submit"
47918
+ }
47919
+ }
47920
+ }
47897
47921
  }
47898
47922
  }
47899
47923
  }
@@ -5821,50 +5821,72 @@ const SCREENS = runtimeSetting({
5821
5821
  }
5822
5822
  },
5823
5823
  {
5824
- "id": "himi_create_post.title_field",
5824
+ "id": "himi_create_post.form",
5825
5825
  "body": {
5826
5826
  "package": "himalaya",
5827
- "type": "TextField",
5828
- "props": {
5829
- "placeholder": "Title",
5830
- "value": "",
5831
- "submitLabel": "next",
5832
- "onSubmit": {
5833
- "actionId": "tier5.spacesCreatePost.focusBody"
5834
- },
5835
- "onChange": {
5836
- "actionId": "tier5.spacesCreatePost.setTitle"
5837
- }
5838
- }
5839
- }
5840
- },
5841
- {
5842
- "id": "himi_create_post.body_field",
5843
- "body": {
5844
- "package": "himalaya",
5845
- "type": "TextField",
5846
- "props": {
5847
- "placeholder": "Write something…",
5848
- "value": "",
5849
- "multilineMaxLines": 6,
5850
- "focusPath": "$service:spacesCreatePost.bodyFocus",
5851
- "onChange": {
5852
- "actionId": "tier5.spacesCreatePost.setBody"
5853
- }
5854
- }
5855
- }
5856
- },
5857
- {
5858
- "id": "himi_create_post.submit",
5859
- "body": {
5860
- "package": "himalaya",
5861
- "type": "Button",
5827
+ "type": "Form",
5862
5828
  "props": {
5863
- "title": "Post",
5864
- "style": "primary",
5865
- "fullWidth": true,
5866
- "action": {
5867
- "actionId": "tier5.spacesCreatePost.submit"
5829
+ "id": "himiCreatePostForm",
5830
+ "fields": [
5831
+ {
5832
+ "id": "himi_create_post.title_field",
5833
+ "body": {
5834
+ "package": "himalaya",
5835
+ "type": "FormField",
5836
+ "props": {
5837
+ "id": "title",
5838
+ "label": "Title",
5839
+ "kind": "text",
5840
+ "text": {
5841
+ "placeholder": "Add a title",
5842
+ "value": "",
5843
+ "submitLabel": "next",
5844
+ "onSubmit": {
5845
+ "actionId": "tier5.spacesCreatePost.focusBody"
5846
+ },
5847
+ "onChange": {
5848
+ "actionId": "tier5.spacesCreatePost.setTitle"
5849
+ }
5850
+ }
5851
+ }
5852
+ }
5853
+ },
5854
+ {
5855
+ "id": "himi_create_post.body_field",
5856
+ "body": {
5857
+ "package": "himalaya",
5858
+ "type": "FormField",
5859
+ "props": {
5860
+ "id": "body",
5861
+ "label": "Your post",
5862
+ "kind": "text",
5863
+ "text": {
5864
+ "placeholder": "Write something…",
5865
+ "value": "",
5866
+ "multilineMaxLines": 6,
5867
+ "focusPath": "$service:spacesCreatePost.bodyFocus",
5868
+ "onChange": {
5869
+ "actionId": "tier5.spacesCreatePost.setBody"
5870
+ }
5871
+ }
5872
+ }
5873
+ }
5874
+ }
5875
+ ],
5876
+ "submitButton": {
5877
+ "id": "himi_create_post.submit",
5878
+ "body": {
5879
+ "package": "himalaya",
5880
+ "type": "Button",
5881
+ "props": {
5882
+ "title": "Post",
5883
+ "style": "primary",
5884
+ "fullWidth": true,
5885
+ "action": {
5886
+ "actionId": "tier5.spacesCreatePost.submit"
5887
+ }
5888
+ }
5889
+ }
5868
5890
  }
5869
5891
  }
5870
5892
  }