@sprucelabs/spruce-people-utils 1.0.0 → 1.0.5

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,5 +1,5 @@
1
- import { AbstractViewController, FormViewController, ViewControllerOptions, SwipeCardViewController, TalkingSprucebotViewController, SpruceSchemas } from '@sprucelabs/heartwood-view-controllers';
2
- import { Card, SentInvite } from '../types/people.types';
1
+ import { AbstractViewController, FormViewController, ViewControllerOptions, SwipeCardViewController, TalkingSprucebotViewController, SpruceSchemas, Card } from '@sprucelabs/heartwood-view-controllers';
2
+ import { SendInvite } from '../types/people-module.types';
3
3
  export default class InvitePersonCardViewController extends AbstractViewController<Card> {
4
4
  static id: string;
5
5
  protected cardVc: SwipeCardViewController;
@@ -7,7 +7,7 @@ export default class InvitePersonCardViewController extends AbstractViewControll
7
7
  protected locationId?: string;
8
8
  protected formVc: FormViewController<InviteFormSchema>;
9
9
  protected talkingVc: TalkingSprucebotViewController;
10
- protected pendingInvite?: SentInvite;
10
+ protected pendingInvite?: SendInvite;
11
11
  private isLoaded;
12
12
  private doneHandler?;
13
13
  private client;
@@ -0,0 +1,2 @@
1
+ import { CardHeader } from '@sprucelabs/heartwood-view-controllers';
2
+ export declare const inviteCardHeaders: CardHeader[];
@@ -0,0 +1,13 @@
1
+ export const inviteCardHeaders = [
2
+ {
3
+ title: 'Invite a person!',
4
+ },
5
+ {
6
+ title: 'Invite sent',
7
+ subtitle: 'Hang tight until the invite is accepted!',
8
+ },
9
+ {
10
+ title: 'All done!',
11
+ subtitle: 'You are good to go!',
12
+ },
13
+ ];
@@ -0,0 +1,22 @@
1
+ export interface SearchPerson {
2
+ id: string;
3
+ fullName: string;
4
+ phone: string;
5
+ }
6
+ export interface SendInvite {
7
+ id: string;
8
+ dateCreated: number;
9
+ status: 'pending' | 'accepted';
10
+ firstName?: string | undefined | null;
11
+ destination: Destination;
12
+ viewContext: ViewContext;
13
+ message: string;
14
+ introduction?: string | undefined | null;
15
+ }
16
+ export interface Destination {
17
+ id: string;
18
+ args?: Record<string, any> | undefined | null;
19
+ }
20
+ export interface ViewContext {
21
+ roleName?: string | undefined | null;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,4 @@
1
+ import { AutocompleteSuggestion } from '@sprucelabs/heartwood-view-controllers';
2
+ import { SearchPerson } from '../types/people-module.types';
3
+ export default function searchPeopleToSuggestions(people: SearchPerson[], cb?: (person: SearchPerson) => Promise<void> | void): AutocompleteSuggestion[];
4
+ export declare function renderLabel(p: SearchPerson): string;
@@ -0,0 +1,10 @@
1
+ export default function searchPeopleToSuggestions(people, cb) {
2
+ return people.map((p) => ({
3
+ id: p.id,
4
+ label: renderLabel(p),
5
+ onClick: () => cb === null || cb === void 0 ? void 0 : cb(p),
6
+ }));
7
+ }
8
+ export function renderLabel(p) {
9
+ return `${p.fullName} (${p.phone})`;
10
+ }
@@ -1,5 +1,5 @@
1
- import { AbstractViewController, FormViewController, ViewControllerOptions, SwipeCardViewController, TalkingSprucebotViewController, SpruceSchemas } from '@sprucelabs/heartwood-view-controllers';
2
- import { Card, SentInvite } from '../types/people.types';
1
+ import { AbstractViewController, FormViewController, ViewControllerOptions, SwipeCardViewController, TalkingSprucebotViewController, SpruceSchemas, Card } from '@sprucelabs/heartwood-view-controllers';
2
+ import { SendInvite } from '../types/people-module.types';
3
3
  export default class InvitePersonCardViewController extends AbstractViewController<Card> {
4
4
  static id: string;
5
5
  protected cardVc: SwipeCardViewController;
@@ -7,7 +7,7 @@ export default class InvitePersonCardViewController extends AbstractViewControll
7
7
  protected locationId?: string;
8
8
  protected formVc: FormViewController<InviteFormSchema>;
9
9
  protected talkingVc: TalkingSprucebotViewController;
10
- protected pendingInvite?: SentInvite;
10
+ protected pendingInvite?: SendInvite;
11
11
  private isLoaded;
12
12
  private doneHandler?;
13
13
  private client;
@@ -0,0 +1,2 @@
1
+ import { CardHeader } from '@sprucelabs/heartwood-view-controllers';
2
+ export declare const inviteCardHeaders: CardHeader[];
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inviteCardHeaders = void 0;
4
+ exports.inviteCardHeaders = [
5
+ {
6
+ title: 'Invite a person!',
7
+ },
8
+ {
9
+ title: 'Invite sent',
10
+ subtitle: 'Hang tight until the invite is accepted!',
11
+ },
12
+ {
13
+ title: 'All done!',
14
+ subtitle: 'You are good to go!',
15
+ },
16
+ ];
@@ -0,0 +1,22 @@
1
+ export interface SearchPerson {
2
+ id: string;
3
+ fullName: string;
4
+ phone: string;
5
+ }
6
+ export interface SendInvite {
7
+ id: string;
8
+ dateCreated: number;
9
+ status: 'pending' | 'accepted';
10
+ firstName?: string | undefined | null;
11
+ destination: Destination;
12
+ viewContext: ViewContext;
13
+ message: string;
14
+ introduction?: string | undefined | null;
15
+ }
16
+ export interface Destination {
17
+ id: string;
18
+ args?: Record<string, any> | undefined | null;
19
+ }
20
+ export interface ViewContext {
21
+ roleName?: string | undefined | null;
22
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,4 @@
1
+ import { AutocompleteSuggestion } from '@sprucelabs/heartwood-view-controllers';
2
+ import { SearchPerson } from '../types/people-module.types';
3
+ export default function searchPeopleToSuggestions(people: SearchPerson[], cb?: (person: SearchPerson) => Promise<void> | void): AutocompleteSuggestion[];
4
+ export declare function renderLabel(p: SearchPerson): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.renderLabel = void 0;
4
+ function searchPeopleToSuggestions(people, cb) {
5
+ return people.map((p) => ({
6
+ id: p.id,
7
+ label: renderLabel(p),
8
+ onClick: () => cb === null || cb === void 0 ? void 0 : cb(p),
9
+ }));
10
+ }
11
+ exports.default = searchPeopleToSuggestions;
12
+ function renderLabel(p) {
13
+ return `${p.fullName} (${p.phone})`;
14
+ }
15
+ exports.renderLabel = renderLabel;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sprucelabs/spruce-people-utils",
3
3
  "description": "People Utilities",
4
- "version": "1.0.0",
4
+ "version": "1.0.5",
5
5
  "skill": {
6
6
  "namespace": "invite"
7
7
  },
@@ -22,16 +22,28 @@
22
22
  "build/viewControllers/PersonSelectInput.vc.d.ts",
23
23
  "build/esm/viewControllers/PersonSelectInput.vc.js",
24
24
  "build/esm/viewControllers/PersonSelectInput.vc.d.ts",
25
+ "build/viewControllers/searchPeopleToSuggestions.js",
26
+ "build/viewControllers/searchPeopleToSuggestions.d.ts",
27
+ "build/esm/viewControllers/searchPeopleToSuggestions.js",
28
+ "build/esm/viewControllers/searchPeopleToSuggestions.d.ts",
25
29
  "build/inviting/InvitePersonCard.vc.js",
26
30
  "build/inviting/InvitePersonCard.vc.d.ts",
27
31
  "build/esm/inviting/InvitePersonCard.vc.js",
28
32
  "build/esm/inviting/InvitePersonCard.vc.d.ts",
33
+ "build/inviting/inviteCardHeaders.js",
34
+ "build/inviting/inviteCardHeaders.d.ts",
35
+ "build/esm/inviting/inviteCardHeaders.js",
36
+ "build/esm/inviting/inviteCardHeaders.d.ts",
37
+ "build/types/people-module.types.js",
38
+ "build/types/people-module.types.d.ts",
39
+ "build/esm/types/people-module.types.js",
40
+ "build/esm/types/people-module.types.d.ts",
29
41
  "build/__tests__/behavioral/searching/SpyPersonSelectInput.js",
30
42
  "build/__tests__/behavioral/searching/SpyPersonSelectInput.d.ts",
31
- "build/__tests__/behavioral/inviting/SpyPersonInviteViewController.js",
32
- "build/__tests__/behavioral/inviting/SpyPersonInviteViewController.d.ts",
33
43
  "build/esm/__tests__/behavioral/searching/SpyPersonSelectInput.js",
34
44
  "build/esm/__tests__/behavioral/searching/SpyPersonSelectInput.d.ts",
45
+ "build/__tests__/behavioral/inviting/SpyPersonInviteViewController.js",
46
+ "build/__tests__/behavioral/inviting/SpyPersonInviteViewController.d.ts",
35
47
  "build/esm/__tests__/behavioral/inviting/SpyPersonInviteViewController.js",
36
48
  "build/esm/__tests__/behavioral/inviting/SpyPersonInviteViewController.d.ts"
37
49
  ],