@meetelise/chat 1.36.0 → 1.38.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 (35) hide show
  1. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/addon-table-styles.d.ts +2 -0
  2. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/addon-table.d.ts +29 -0
  3. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/index.d.ts +3 -0
  4. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector-styles.d.ts +1 -0
  5. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector.d.ts +24 -0
  6. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors-styles.d.ts +1 -0
  7. package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors.d.ts +36 -0
  8. package/dist/src/WebComponent/FeeCalculator/components/addons/index.d.ts +4 -0
  9. package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.d.ts +2 -2
  10. package/dist/src/WebComponent/FeeCalculator/components/index.d.ts +1 -0
  11. package/dist/src/WebComponent/FeeCalculator/fee-calculator.d.ts +19 -3
  12. package/dist/src/WebComponent/loaders/mega-loader.d.ts +1 -0
  13. package/dist/src/WebComponent/mini-loader.d.ts +2 -0
  14. package/dist/src/services/fees/calculateQuote.d.ts +1 -1
  15. package/dist/src/services/fees/downloadQuotePdf.d.ts +12 -0
  16. package/package.json +1 -1
  17. package/public/dist/index.js +780 -421
  18. package/src/WebComponent/FeeCalculator/components/addons/addon-table/addon-table-styles.ts +71 -0
  19. package/src/WebComponent/FeeCalculator/components/addons/addon-table/addon-table.ts +229 -0
  20. package/src/WebComponent/FeeCalculator/components/addons/addon-table/index.ts +3 -0
  21. package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector-styles.ts +82 -0
  22. package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector.ts +200 -0
  23. package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors-styles.ts +62 -0
  24. package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors.ts +202 -0
  25. package/src/WebComponent/FeeCalculator/components/addons/index.ts +4 -0
  26. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.ts +37 -10
  27. package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.ts +22 -49
  28. package/src/WebComponent/FeeCalculator/components/index.ts +1 -0
  29. package/src/WebComponent/FeeCalculator/fee-calculator-styles.ts +8 -2
  30. package/src/WebComponent/FeeCalculator/fee-calculator.ts +165 -28
  31. package/src/WebComponent/loaders/mega-loader.ts +5 -1
  32. package/src/WebComponent/mini-loader.ts +10 -2
  33. package/src/WebComponent/shared/simple-tooltip.ts +1 -1
  34. package/src/services/fees/calculateQuote.ts +13 -9
  35. package/src/services/fees/downloadQuotePdf.ts +71 -0
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,29 @@
1
+ import { LitElement, TemplateResult } from "lit";
2
+ import { BuildingFeeView, DesiredAddon, DesiredRentableItem, RentableItemSummary } from "../../../model";
3
+ import "../../../../shared/simple-tooltip";
4
+ import "./table-qty-selectors";
5
+ import "./table-matrix-qty-selector";
6
+ export declare class AddonTable extends LitElement {
7
+ static styles: import("lit").CSSResult;
8
+ set addons(value: (BuildingFeeView | RentableItemSummary)[]);
9
+ get addons(): (BuildingFeeView | RentableItemSummary)[];
10
+ private _addons;
11
+ disabled: boolean;
12
+ onAddonSelect: ((addon: DesiredAddon) => void) | null;
13
+ onRentableItemSelect: ((rentableItem: DesiredRentableItem) => void) | null;
14
+ private quantities;
15
+ private initializeQuantities;
16
+ private handleAddonQuantityChange;
17
+ private handleRentableItemQuantityChange;
18
+ private getName;
19
+ private getSortedAddons;
20
+ private isRentableItemAvailable;
21
+ private renderQtySelector;
22
+ private renderTableRows;
23
+ render(): TemplateResult;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ "addon-table": AddonTable;
28
+ }
29
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./addon-table";
2
+ export * from "./table-qty-selectors";
3
+ export * from "./table-matrix-qty-selector";
@@ -0,0 +1 @@
1
+ export declare const tableMatrixStyles: import("lit").CSSResult;
@@ -0,0 +1,24 @@
1
+ import { LitElement, TemplateResult } from "lit";
2
+ import { BuildingFeeView, DesiredAddon } from "../../../model";
3
+ export declare class TableMatrixQtySelector extends LitElement {
4
+ static styles: import("lit").CSSResult;
5
+ private _previousFeeItemId;
6
+ set feeItem(value: BuildingFeeView | null);
7
+ get feeItem(): BuildingFeeView | null;
8
+ private _feeItem;
9
+ onQuantityChange: ((addon: DesiredAddon) => void) | null;
10
+ disabled: boolean;
11
+ private quantities;
12
+ private _availableTypes;
13
+ private get matrixRules();
14
+ private getAvailableTypes;
15
+ private get itemTypes();
16
+ private getMaxQuantityForType;
17
+ private isValidCombination;
18
+ private handleIncrement;
19
+ private handleDecrement;
20
+ private notifyQuantityChange;
21
+ private formatItemType;
22
+ private renderItemType;
23
+ render(): TemplateResult;
24
+ }
@@ -0,0 +1 @@
1
+ export declare const tableQtyStyles: import("lit").CSSResult;
@@ -0,0 +1,36 @@
1
+ import { LitElement, TemplateResult } from "lit";
2
+ import { BuildingFeeView, DesiredAddon, RentableItemSummary } from "../../../model";
3
+ export declare class TableAddonQtySelector extends LitElement {
4
+ static styles: import("lit").CSSResult;
5
+ feeItem: BuildingFeeView | null;
6
+ private _previousFeeItemId;
7
+ onQuantityChange: ((addon: DesiredAddon) => void) | null;
8
+ disabled: boolean;
9
+ quantity: number;
10
+ private get maxQuantity();
11
+ updated(changedProps: Map<string, unknown>): void;
12
+ private handleIncrement;
13
+ private handleDecrement;
14
+ private notifyQuantityChange;
15
+ render(): TemplateResult;
16
+ }
17
+ export declare class TableRentableItemQtySelector extends LitElement {
18
+ static styles: import("lit").CSSResult;
19
+ rentableItem: RentableItemSummary | null;
20
+ private _previousRentableItemType;
21
+ onQuantityChange: ((change: {
22
+ type: string;
23
+ quantity: number;
24
+ }) => void) | null;
25
+ disabled: boolean;
26
+ quantity: number;
27
+ selectedItemIds: Set<string>;
28
+ get totalAvailableItems(): number;
29
+ get atMaxUnits(): boolean;
30
+ get atMinUnits(): boolean;
31
+ updated(changedProps: Map<string, unknown>): void;
32
+ private handleIncrement;
33
+ private handleDecrement;
34
+ private emitChange;
35
+ render(): TemplateResult;
36
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./addon-item-qty-selector/addon-item-qty-selector";
2
+ export * from "./addon-item-matrix-qty-selector/addon-item-matrix-qty-selector";
3
+ export * from "./rentable-item-qty-selector/rentable-item-qty-selector";
4
+ export * from "./addon-table/addon-table";
@@ -9,12 +9,13 @@ import "../fee-card/fee-card";
9
9
  import "../addons/addon-item-qty-selector/addon-item-qty-selector";
10
10
  import "../addons/rentable-item-qty-selector/rentable-item-qty-selector";
11
11
  import "../addons/addon-item-matrix-qty-selector/addon-item-matrix-qty-selector";
12
+ import "../addons/addon-table/addon-table";
12
13
  import "../../../loaders/skeleton-loader";
13
14
  import "../../../loaders/mega-loader";
14
15
  export declare class FeeCalculatorLayout extends LitElement {
15
16
  static styles: import("lit").CSSResult;
16
17
  buildingSlug: string;
17
- isLoading: boolean;
18
+ showSkeletonLoader: boolean;
18
19
  selectedUnit: Unit | null;
19
20
  quote: CalculateQuoteResponse | null;
20
21
  layoutOptions: LayoutOption[];
@@ -36,7 +37,6 @@ export declare class FeeCalculatorLayout extends LitElement {
36
37
  renderFeeSections(): TemplateResult[];
37
38
  renderFeesContent(): TemplateResult;
38
39
  renderAddOns(): TemplateResult | null;
39
- private renderAddOnsContent;
40
40
  render(): TemplateResult;
41
41
  }
42
42
  declare global {
@@ -3,3 +3,4 @@ export * from "./floor-plan-selector/floor-plan-selector";
3
3
  export * from "./fee-card/fee-card";
4
4
  export * from "./addons/addon-item-qty-selector/addon-item-qty-selector";
5
5
  export * from "./fee-calculator-layout/fee-calculator-layout";
6
+ export * from "./addons/addon-table/addon-table";
@@ -9,6 +9,7 @@ import "./components";
9
9
  import "./components/fee-calculator-layout/fee-calculator-layout";
10
10
  import "../chat-additional-actions";
11
11
  import "./components/incentive-banner";
12
+ import "../loaders/mega-loader";
12
13
  export declare class FeeCalculator extends LitElement {
13
14
  static styles: import("lit").CSSResult;
14
15
  buildingSlug: string;
@@ -20,7 +21,9 @@ export declare class FeeCalculator extends LitElement {
20
21
  onClickPhoneOption: ((e: MouseEvent) => void) | null;
21
22
  onClickSSTOption: ((e: MouseEvent) => void) | null;
22
23
  onClickTextUsOption: ((e: MouseEvent) => void) | null;
23
- private isLoading;
24
+ private isFirstCalculation;
25
+ private isCalculatingQuote;
26
+ private isExporting;
24
27
  private selectedLayoutIds;
25
28
  private selectedUnit;
26
29
  private desiredAddons;
@@ -32,13 +35,25 @@ export declare class FeeCalculator extends LitElement {
32
35
  quote: CalculateQuoteResponse | null;
33
36
  private groupedFees;
34
37
  private rentableItems;
35
- private debouncedCalculateQuote;
38
+ private quoteAbortController;
39
+ private quoteDebounceTimer;
40
+ /**
41
+ * Aborts any existing request, creates a new signal, and starts the API call.
42
+ */
43
+ private startQuoteApiCall;
44
+ /**
45
+ * Performs the actual quote calculation API request.
46
+ */
47
+ private performQuoteCalculation;
36
48
  get layouts(): LayoutOption[];
37
49
  firstUpdated: () => Promise<void>;
38
50
  setupCalculator: () => Promise<void>;
39
51
  updated(changedProperties: Map<string, unknown>): void;
40
52
  disconnectedCallback(): void;
41
- calculateQuote: () => Promise<void>;
53
+ /**
54
+ * Requests a quote calculation, debouncing the request.
55
+ */
56
+ requestQuoteCalculation: () => void;
42
57
  handleUnitSelect: (unit: Unit) => void;
43
58
  handleMoveInDateChange: (date: Date) => void;
44
59
  handleLeaseTermChange: (leaseTerm: number) => void;
@@ -51,5 +66,6 @@ export declare class FeeCalculator extends LitElement {
51
66
  handleClickTextUsOption: (e: MouseEvent) => void;
52
67
  handleClose: () => void;
53
68
  handleSelectLayout: (layoutIds: number[]) => void;
69
+ handleShare: () => Promise<void>;
54
70
  render(): TemplateResult;
55
71
  }
@@ -2,6 +2,7 @@ import { LitElement, TemplateResult } from "lit";
2
2
  export declare class MegaLoader extends LitElement {
3
3
  static styles: import("lit").CSSResult;
4
4
  size: number;
5
+ spinSpeed: number;
5
6
  updated(): void;
6
7
  render(): TemplateResult;
7
8
  }
@@ -1,5 +1,7 @@
1
1
  import { LitElement, TemplateResult } from "lit";
2
2
  export declare class MiniLoader extends LitElement {
3
+ spinSpeed: number;
3
4
  static styles: import("lit").CSSResult;
5
+ updated(): void;
4
6
  render(): TemplateResult;
5
7
  }
@@ -10,5 +10,5 @@ declare type CalculateQuoteRequest = {
10
10
  export declare type CalculateQuoteResponse = {
11
11
  units: UnitFeeBundle[];
12
12
  };
13
- export declare const calculateQuote: ({ buildingSlug, unitId, addons, rentableItems, leaseTerm, moveInDate, }: CalculateQuoteRequest) => Promise<CalculateQuoteResponse>;
13
+ export declare const calculateQuote: ({ buildingSlug, unitId, addons, rentableItems, leaseTerm, moveInDate, }: CalculateQuoteRequest, signal?: AbortSignal) => Promise<CalculateQuoteResponse>;
14
14
  export default calculateQuote;
@@ -0,0 +1,12 @@
1
+ import { DesiredAddon, DesiredRentableItem } from "../../WebComponent/FeeCalculator/model";
2
+ declare type DownloadQuotePdfRequest = {
3
+ buildingSlug: string;
4
+ unitId: number;
5
+ unitNumber: string;
6
+ addons: DesiredAddon[];
7
+ rentableItems: DesiredRentableItem[];
8
+ leaseTerm: number;
9
+ moveInDate: string;
10
+ };
11
+ export declare const downloadQuotePdf: ({ buildingSlug, unitId, unitNumber, addons, rentableItems, leaseTerm, moveInDate, }: DownloadQuotePdfRequest) => Promise<void>;
12
+ export default downloadQuotePdf;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meetelise/chat",
3
- "version": "1.36.0",
3
+ "version": "1.38.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/MeetElise/chat-ui#readme",