@sprucelabs/heartwood-view-controllers 123.1.1 → 123.2.1

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/README.md CHANGED
@@ -18,4 +18,4 @@ Spruce XP Documentation
18
18
  <a href="https://developer.spruce.ai/#/"><img width="250" src="https://raw.githubusercontent.com/sprucelabsai/heartwood-view-controllers/master/docs/images/read-full-docs.png" /></a>
19
19
  </p>
20
20
  ### Dependencies
21
- [Arkit diagram here](docs/dependencies.md).
21
+ [Arkit diagram here](docs/dependencies.md).
@@ -57,6 +57,12 @@ const navigationButtonSchema = {
57
57
  type: 'raw',
58
58
  options: { valueType: `() => Promise<any> | any`, }
59
59
  },
60
+ /** Image. */
61
+ 'image': {
62
+ label: 'Image',
63
+ type: 'text',
64
+ options: undefined
65
+ },
60
66
  /** Dropdown. */
61
67
  'dropdown': {
62
68
  label: 'Dropdown',
@@ -3440,6 +3440,8 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
3440
3440
  'label'?: string | undefined | null;
3441
3441
  /** Click handler. */
3442
3442
  'onClick'?: (() => Promise<any> | any) | undefined | null;
3443
+ /** Image. */
3444
+ 'image'?: string | undefined | null;
3443
3445
  /** Dropdown. */
3444
3446
  'dropdown'?: SpruceSchemas.HeartwoodViewControllers.v2021_02_11.NavigationButtonDropdown | undefined | null;
3445
3447
  }
@@ -3912,6 +3914,12 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
3912
3914
  valueType: `() => Promise<any> | any`;
3913
3915
  };
3914
3916
  };
3917
+ /** Image. */
3918
+ 'image': {
3919
+ label: 'Image';
3920
+ type: 'text';
3921
+ options: undefined;
3922
+ };
3915
3923
  /** Dropdown. */
3916
3924
  'dropdown': {
3917
3925
  label: 'Dropdown';
@@ -52,6 +52,12 @@ const navigationButtonSchema = {
52
52
  type: 'raw',
53
53
  options: { valueType: `() => Promise<any> | any`, }
54
54
  },
55
+ /** Image. */
56
+ 'image': {
57
+ label: 'Image',
58
+ type: 'text',
59
+ options: undefined
60
+ },
55
61
  /** Dropdown. */
56
62
  'dropdown': {
57
63
  label: 'Dropdown',
@@ -3440,6 +3440,8 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
3440
3440
  'label'?: string | undefined | null;
3441
3441
  /** Click handler. */
3442
3442
  'onClick'?: (() => Promise<any> | any) | undefined | null;
3443
+ /** Image. */
3444
+ 'image'?: string | undefined | null;
3443
3445
  /** Dropdown. */
3444
3446
  'dropdown'?: SpruceSchemas.HeartwoodViewControllers.v2021_02_11.NavigationButtonDropdown | undefined | null;
3445
3447
  }
@@ -3912,6 +3914,12 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
3912
3914
  valueType: `() => Promise<any> | any`;
3913
3915
  };
3914
3916
  };
3917
+ /** Image. */
3918
+ 'image': {
3919
+ label: 'Image';
3920
+ type: 'text';
3921
+ options: undefined;
3922
+ };
3915
3923
  /** Dropdown. */
3916
3924
  'dropdown': {
3917
3925
  label: 'Dropdown';
@@ -90,6 +90,7 @@ declare const _default: {
90
90
  };
91
91
  };
92
92
  };
93
+ image: import("@sprucelabs/schema").FieldDefinitions;
93
94
  label: import("@sprucelabs/schema").FieldDefinitions;
94
95
  isEnabled: import("@sprucelabs/schema").FieldDefinitions;
95
96
  onClick: import("@sprucelabs/schema").FieldDefinitions;
@@ -21,7 +21,7 @@ export default buildSchema({
21
21
  options: {
22
22
  schema: routerDestinationBuilder,
23
23
  },
24
- } }, pickFields(buttonFields, ['isEnabled', 'label', 'onClick'])), { dropdown: {
24
+ } }, pickFields(buttonFields, ['isEnabled', 'label', 'onClick', 'image'])), { dropdown: {
25
25
  type: 'schema',
26
26
  label: 'Dropdown',
27
27
  options: {
@@ -2,7 +2,7 @@ var _a, _b, _c;
2
2
  import pathUtil from 'path';
3
3
  import { diskUtil } from '@sprucelabs/spruce-skill-utils';
4
4
  const dotenv = require('dotenv');
5
- dotenv.config();
5
+ dotenv.config({ silent: true });
6
6
  export const DEMO_NUMBER = (_a = process.env.DEMO_NUMBER) !== null && _a !== void 0 ? _a : '**MISSING**';
7
7
  export const DEMO_NUMBER2 = (_b = process.env.DEMO_NUMBER2) !== null && _b !== void 0 ? _b : '**MISSING**';
8
8
  export const DEMO_NUMBER_ACTIVE_RECORD = (_c = process.env.DEMO_NUMBER_ACTIVE_RECORD) !== null && _c !== void 0 ? _c : '**MISSING**';
@@ -15,7 +15,7 @@ import { eventContractUtil, eventDiskUtil, eventResponseUtil, } from '@sprucelab
15
15
  import { diskUtil } from '@sprucelabs/spruce-skill-utils';
16
16
  import { DEMO_NUMBER } from '../constants.js';
17
17
  const env = require('dotenv');
18
- env.config();
18
+ env.config({ silent: true });
19
19
  const TEST_HOST = (_a = process.env.TEST_HOST) !== null && _a !== void 0 ? _a : process.env.HOST;
20
20
  class MercuryFixture {
21
21
  static beforeEach() {
@@ -22,5 +22,5 @@ export default class BigFormViewController<S extends Schema, V extends ViewModel
22
22
  type ViewModel<S extends Schema> = BigForm<S>;
23
23
  export type BigFormViewControllerOptions<S extends Schema> = FormViewControllerOptions<S> & {
24
24
  onSubmitSlide?: ViewModel<S>['onSubmitSlide'];
25
- } & Pick<ViewModel<S>, 'shouldRenderFirstFieldsLabel' | 'sprucebotAvatar'>;
25
+ } & Pick<ViewModel<S>, 'shouldRenderFirstFieldsLabel' | 'shouldRenderSlideTitles' | 'sprucebotAvatar'>;
26
26
  export {};
@@ -22,6 +22,7 @@ export default class CardViewController<V extends Card = Card> extends AbstractV
22
22
  getHeaderTitle(): string | undefined;
23
23
  getHeader(): import("@sprucelabs/mercury-types").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CardHeader | null | undefined;
24
24
  getFooter(): import("@sprucelabs/mercury-types").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CardFooter | null | undefined;
25
+ getFooterLayout(): CardFooterLayout | null | undefined;
25
26
  getHeaderSubtitle(): string | undefined;
26
27
  setHeaderImage(image: string | null): void;
27
28
  setBackgroundImage(image: string | null): void;
@@ -3,10 +3,12 @@ import AbstractViewController from '../Abstract.vc.js';
3
3
  import sectionIdOrIdxToIdx from './sectionIdOrIdxToIdx.js';
4
4
  export default class CardViewController extends AbstractViewController {
5
5
  constructor(options) {
6
+ var _a, _b;
6
7
  super(options);
7
8
  this.triggerRenderSections = [];
8
9
  this.sectionVcs = [];
9
10
  this.model = options;
11
+ this.footerLayout = (_b = (_a = this.model.footer) === null || _a === void 0 ? void 0 : _a.layout) !== null && _b !== void 0 ? _b : null;
10
12
  }
11
13
  setFooter(footer) {
12
14
  var _a;
@@ -129,6 +131,9 @@ export default class CardViewController extends AbstractViewController {
129
131
  getFooter() {
130
132
  return this.model.footer;
131
133
  }
134
+ getFooterLayout() {
135
+ return this.footerLayout;
136
+ }
132
137
  getHeaderSubtitle() {
133
138
  var _a, _b;
134
139
  return (_b = (_a = this.model.header) === null || _a === void 0 ? void 0 : _a.subtitle) !== null && _b !== void 0 ? _b : undefined;
@@ -326,8 +331,11 @@ export default class CardViewController extends AbstractViewController {
326
331
  this.footerLayout = layout;
327
332
  if (this.model.footer) {
328
333
  this.model.footer.layout = layout;
334
+ (_a = this.triggerRenderFooter) === null || _a === void 0 ? void 0 : _a.call(this);
335
+ }
336
+ else {
337
+ this.triggerRender();
329
338
  }
330
- (_a = this.triggerRenderFooter) === null || _a === void 0 ? void 0 : _a.call(this);
331
339
  }
332
340
  render() {
333
341
  var _a;
@@ -90,6 +90,7 @@ declare const _default: {
90
90
  };
91
91
  };
92
92
  };
93
+ image: import("@sprucelabs/schema").FieldDefinitions;
93
94
  label: import("@sprucelabs/schema").FieldDefinitions;
94
95
  isEnabled: import("@sprucelabs/schema").FieldDefinitions;
95
96
  onClick: import("@sprucelabs/schema").FieldDefinitions;
@@ -34,7 +34,7 @@ exports.default = (0, schema_1.buildSchema)({
34
34
  schema: routerDestination_builder_1.default,
35
35
  },
36
36
  },
37
- ...(0, schema_1.pickFields)(constants_1.buttonFields, ['isEnabled', 'label', 'onClick']),
37
+ ...(0, schema_1.pickFields)(constants_1.buttonFields, ['isEnabled', 'label', 'onClick', 'image']),
38
38
  dropdown: {
39
39
  type: 'schema',
40
40
  label: 'Dropdown',
@@ -7,7 +7,7 @@ exports.importExportSourcePlugins2 = exports.importExportSourcePlugins1 = export
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
9
9
  const dotenv = require('dotenv');
10
- dotenv.config();
10
+ dotenv.config({ silent: true });
11
11
  exports.DEMO_NUMBER = process.env.DEMO_NUMBER ?? '**MISSING**';
12
12
  exports.DEMO_NUMBER2 = process.env.DEMO_NUMBER2 ?? '**MISSING**';
13
13
  exports.DEMO_NUMBER_ACTIVE_RECORD = process.env.DEMO_NUMBER_ACTIVE_RECORD ?? '**MISSING**';
@@ -7,7 +7,7 @@ const spruce_event_utils_1 = require("@sprucelabs/spruce-event-utils");
7
7
  const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
8
8
  const constants_1 = require("../constants");
9
9
  const env = require('dotenv');
10
- env.config();
10
+ env.config({ silent: true });
11
11
  const TEST_HOST = process.env.TEST_HOST ?? process.env.HOST;
12
12
  class MercuryFixture {
13
13
  static async beforeEach() {
@@ -22,5 +22,5 @@ export default class BigFormViewController<S extends Schema, V extends ViewModel
22
22
  type ViewModel<S extends Schema> = BigForm<S>;
23
23
  export type BigFormViewControllerOptions<S extends Schema> = FormViewControllerOptions<S> & {
24
24
  onSubmitSlide?: ViewModel<S>['onSubmitSlide'];
25
- } & Pick<ViewModel<S>, 'shouldRenderFirstFieldsLabel' | 'sprucebotAvatar'>;
25
+ } & Pick<ViewModel<S>, 'shouldRenderFirstFieldsLabel' | 'shouldRenderSlideTitles' | 'sprucebotAvatar'>;
26
26
  export {};
@@ -22,6 +22,7 @@ export default class CardViewController<V extends Card = Card> extends AbstractV
22
22
  getHeaderTitle(): string | undefined;
23
23
  getHeader(): import("@sprucelabs/mercury-types").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CardHeader | null | undefined;
24
24
  getFooter(): import("@sprucelabs/mercury-types").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CardFooter | null | undefined;
25
+ getFooterLayout(): CardFooterLayout | null | undefined;
25
26
  getHeaderSubtitle(): string | undefined;
26
27
  setHeaderImage(image: string | null): void;
27
28
  setBackgroundImage(image: string | null): void;
@@ -12,6 +12,7 @@ class CardViewController extends Abstract_vc_1.default {
12
12
  this.triggerRenderSections = [];
13
13
  this.sectionVcs = [];
14
14
  this.model = options;
15
+ this.footerLayout = this.model.footer?.layout ?? null;
15
16
  }
16
17
  setFooter(footer) {
17
18
  const hadFooter = !!this.model.footer;
@@ -142,6 +143,9 @@ class CardViewController extends Abstract_vc_1.default {
142
143
  getFooter() {
143
144
  return this.model.footer;
144
145
  }
146
+ getFooterLayout() {
147
+ return this.footerLayout;
148
+ }
145
149
  getHeaderSubtitle() {
146
150
  return this.model.header?.subtitle ?? undefined;
147
151
  }
@@ -336,8 +340,11 @@ class CardViewController extends Abstract_vc_1.default {
336
340
  this.footerLayout = layout;
337
341
  if (this.model.footer) {
338
342
  this.model.footer.layout = layout;
343
+ this.triggerRenderFooter?.();
344
+ }
345
+ else {
346
+ this.triggerRender();
339
347
  }
340
- this.triggerRenderFooter?.();
341
348
  }
342
349
  render() {
343
350
  const model = {
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "sideEffects": false,
14
14
  "license": "MIT",
15
15
  "description": "All the power of Heartwood in one, convenient package.",
16
- "version": "123.1.1",
16
+ "version": "123.2.1",
17
17
  "skill": {
18
18
  "namespace": "HeartwoodViewControllers",
19
19
  "commandOverrides": {
@@ -117,6 +117,9 @@
117
117
  "typescript": "^5.8.3",
118
118
  "yarn-upgrade-all": "^0.7.5"
119
119
  },
120
+ "resolutions": {
121
+ "@pkgr/core": "0.2.9"
122
+ },
120
123
  "jest": {
121
124
  "testRunner": "jest-circus/runner",
122
125
  "setupFilesAfterEnv": [