@salesforce/webapp-template-app-react-sample-b2e-experimental 1.81.0 → 1.82.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 (40) hide show
  1. package/dist/CHANGELOG.md +8 -0
  2. package/dist/force-app/main/default/webapplications/appreactsampleb2e/package.json +4 -4
  3. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/api/applications.ts +1 -1
  4. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/api/dashboard.ts +1 -1
  5. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/api/maintenance.ts +1 -1
  6. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/api/maintenanceWorkers.ts +2 -2
  7. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/api/properties.ts +1 -1
  8. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/appLayout.tsx +2 -2
  9. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/ApplicationCard.tsx +1 -1
  10. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/ApplicationDetailsModal.tsx +1 -1
  11. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/ApplicationsTable.tsx +1 -1
  12. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/ListPageFilters.tsx +1 -1
  13. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/MaintenanceDetailsModal.tsx +2 -2
  14. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/MaintenanceRequestCard.tsx +1 -1
  15. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/MaintenanceTable.tsx +2 -2
  16. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/PropertyCard.tsx +1 -1
  17. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/PropertyDetailsModal.tsx +1 -1
  18. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/TopBar.tsx +1 -1
  19. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/VerticalNav.tsx +1 -1
  20. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/dashboard/GlobalSearchBar.tsx +2 -2
  21. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/filters/FilterFieldRange.tsx +1 -1
  22. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/filters/FilterFieldSelect.tsx +1 -1
  23. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/filters/ListPageFilterRow.tsx +3 -3
  24. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/components/list/ListPageWithFilters.tsx +5 -5
  25. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/hooks/useListPage.ts +4 -4
  26. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/applicationAdapter.ts +1 -1
  27. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/fieldMappers.ts +1 -1
  28. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/globalSearchConstants.ts +1 -1
  29. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/listPageConfig.ts +9 -9
  30. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/maintenanceAdapter.ts +1 -1
  31. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/maintenanceWorkerAdapter.ts +1 -1
  32. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/lib/propertyAdapter.ts +1 -1
  33. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/pages/Applications.tsx +8 -8
  34. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/pages/Home.tsx +13 -13
  35. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/pages/Maintenance.tsx +9 -9
  36. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/pages/MaintenanceWorkers.tsx +6 -6
  37. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/pages/Properties.tsx +15 -15
  38. package/dist/force-app/main/default/webapplications/appreactsampleb2e/src/routes.tsx +1 -1
  39. package/dist/package.json +1 -1
  40. package/package.json +3 -3
package/dist/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [1.82.0](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.81.0...v1.82.0) (2026-03-09)
7
+
8
+ **Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
9
+
10
+
11
+
12
+
13
+
6
14
  # [1.81.0](https://github.com/salesforce-experience-platform-emu/webapps/compare/v1.80.1...v1.81.0) (2026-03-09)
7
15
 
8
16
  **Note:** Version bump only for package @salesforce/webapp-template-base-sfdx-project-experimental
@@ -15,9 +15,9 @@
15
15
  "graphql:schema": "node scripts/get-graphql-schema.mjs"
16
16
  },
17
17
  "dependencies": {
18
- "@salesforce/agentforce-conversation-client": "^1.81.0",
19
- "@salesforce/sdk-data": "^1.81.0",
20
- "@salesforce/webapp-experimental": "^1.81.0",
18
+ "@salesforce/agentforce-conversation-client": "^1.82.0",
19
+ "@salesforce/sdk-data": "^1.82.0",
20
+ "@salesforce/webapp-experimental": "^1.82.0",
21
21
  "@tailwindcss/vite": "^4.1.17",
22
22
  "@tanstack/react-form": "^1.28.4",
23
23
  "class-variance-authority": "^0.7.1",
@@ -42,7 +42,7 @@
42
42
  "@graphql-eslint/eslint-plugin": "^4.1.0",
43
43
  "@graphql-tools/utils": "^11.0.0",
44
44
  "@playwright/test": "^1.49.0",
45
- "@salesforce/vite-plugin-webapp-experimental": "^1.81.0",
45
+ "@salesforce/vite-plugin-webapp-experimental": "^1.82.0",
46
46
  "@testing-library/jest-dom": "^6.6.3",
47
47
  "@testing-library/react": "^16.1.0",
48
48
  "@testing-library/user-event": "^14.5.2",
@@ -1,5 +1,5 @@
1
1
  import { getDataSDK, gql } from "@salesforce/sdk-data";
2
- import type { Application } from "../lib/types.js";
2
+ import type { Application } from "../lib/types";
3
3
  import type {
4
4
  GetApplicationsQuery,
5
5
  UpdateApplicationStatusMutationVariables,
@@ -1,5 +1,5 @@
1
1
  import { getDataSDK, gql } from "@salesforce/sdk-data";
2
- import type { DashboardMetrics, Application } from "../lib/types.js";
2
+ import type { DashboardMetrics, Application } from "../lib/types";
3
3
  import type {
4
4
  GetDashboardMetricsQuery,
5
5
  GetOpenApplicationsQuery,
@@ -1,5 +1,5 @@
1
1
  import { getDataSDK, gql } from "@salesforce/sdk-data";
2
- import type { MaintenanceRequest } from "../lib/types.js";
2
+ import type { MaintenanceRequest } from "../lib/types";
3
3
  import type {
4
4
  GetMaintenanceRequestsQuery,
5
5
  GetMaintenanceRequestsQueryVariables,
@@ -1,5 +1,5 @@
1
- import type { MaintenanceWorker } from "../lib/types.js";
2
- import { getAllMaintenanceRequests } from "./maintenance.js";
1
+ import type { MaintenanceWorker } from "../lib/types";
2
+ import { getAllMaintenanceRequests } from "./maintenance";
3
3
 
4
4
  /**
5
5
  * Fetches maintenance workers. Derives unique workers from maintenance requests
@@ -1,5 +1,5 @@
1
1
  import { getDataSDK, gql } from "@salesforce/sdk-data";
2
- import type { Property } from "../lib/types.js";
2
+ import type { Property } from "../lib/types";
3
3
  import type { GetPropertiesQueryVariables, GetPropertiesQuery } from "./graphql-operations-types";
4
4
 
5
5
  // GraphQL query to get properties with pagination
@@ -1,6 +1,6 @@
1
1
  import { Outlet } from "react-router";
2
- import { TopBar } from "./components/TopBar.js";
3
- import { VerticalNav } from "./components/VerticalNav.js";
2
+ import { TopBar } from "./components/TopBar";
3
+ import { VerticalNav } from "./components/VerticalNav";
4
4
  import { AgentforceConversationClient } from "./components/AgentforceConversationClient";
5
5
 
6
6
  export default function AppLayout() {
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { Card } from "./ui/card";
3
3
  import { Button } from "./ui/button";
4
- import type { Application } from "../lib/types.js";
4
+ import type { Application } from "../lib/types";
5
5
 
6
6
  interface ApplicationCardProps {
7
7
  application: Application;
@@ -1,7 +1,7 @@
1
1
  import React, { useState } from "react";
2
2
  import { X } from "lucide-react";
3
3
  import { Button } from "./ui/button";
4
- import type { Application } from "../lib/types.js";
4
+ import type { Application } from "../lib/types";
5
5
 
6
6
  interface ApplicationDetailsModalProps {
7
7
  application: Application;
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { Application } from "../lib/types.js";
2
+ import type { Application } from "../lib/types";
3
3
 
4
4
  interface ApplicationsTableProps {
5
5
  applications: Application[];
@@ -1,4 +1,4 @@
1
- import type { ActiveFilter, FilterFieldConfig } from "../lib/listFilters.js";
1
+ import type { ActiveFilter, FilterFieldConfig } from "../lib/listFilters";
2
2
 
3
3
  const inputClass =
4
4
  "h-9 rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm focus:outline-none focus:ring-2 focus:ring-primary-purple/20 focus:border-primary-purple";
@@ -1,8 +1,8 @@
1
1
  import React, { useState } from "react";
2
2
  import { X } from "lucide-react";
3
3
  import { Button } from "./ui/button";
4
- import { PriorityBadge } from "./PriorityBadge.js";
5
- import type { MaintenanceRequest } from "../lib/types.js";
4
+ import { PriorityBadge } from "./PriorityBadge";
5
+ import type { MaintenanceRequest } from "../lib/types";
6
6
 
7
7
  interface MaintenanceDetailsModalProps {
8
8
  request: MaintenanceRequest;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { Card } from "./ui/card";
3
3
  import { Button } from "./ui/button";
4
- import type { MaintenanceRequest } from "../lib/types.js";
4
+ import type { MaintenanceRequest } from "../lib/types";
5
5
 
6
6
  interface MaintenanceRequestCardProps {
7
7
  request: MaintenanceRequest;
@@ -1,9 +1,9 @@
1
1
  import React from "react";
2
2
  import { useNavigate } from "react-router";
3
- import { PATHS } from "../lib/routeConfig.js";
3
+ import { PATHS } from "../lib/routeConfig";
4
4
  import { Card } from "./ui/card";
5
5
  import { Button } from "./ui/button";
6
- import type { MaintenanceRequest } from "../lib/types.js";
6
+ import type { MaintenanceRequest } from "../lib/types";
7
7
  import PlumbingIcon from "../assets/icons/plumbing.svg";
8
8
  import HVACIcon from "../assets/icons/hvac.svg";
9
9
  import ElectricalIcon from "../assets/icons/electrical.svg";
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { Property } from "../lib/types.js";
2
+ import type { Property } from "../lib/types";
3
3
 
4
4
  interface PropertyCardProps {
5
5
  property: Property;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { X } from "lucide-react";
3
3
  import { Button } from "./ui/button";
4
- import type { Property } from "../lib/types.js";
4
+ import type { Property } from "../lib/types";
5
5
 
6
6
  interface PropertyDetailsModalProps {
7
7
  property: Property;
@@ -1,7 +1,7 @@
1
1
  import React, { useEffect, useState } from "react";
2
2
  import { Search, Bell, ChevronDown, Menu } from "lucide-react";
3
3
  import zenLogo from "../assets/icons/zen-logo.svg";
4
- import { getUserInfo } from "../api/dashboard.js";
4
+ import { getUserInfo } from "../api/dashboard";
5
5
 
6
6
  interface TopBarProps {
7
7
  onMenuClick?: () => void;
@@ -5,7 +5,7 @@ import filesIcon from "../assets/icons/files.svg";
5
5
  import propertiesIcon from "../assets/icons/properties.svg";
6
6
  import maintenanceIcon from "../assets/icons/maintenance.svg";
7
7
  import maintenanceWorkerIcon from "../assets/icons/maintenance-worker.svg";
8
- import { PATHS } from "../lib/routeConfig.js";
8
+ import { PATHS } from "../lib/routeConfig";
9
9
 
10
10
  interface NavItem {
11
11
  path: string;
@@ -1,5 +1,5 @@
1
- import type { ObjectInfoResult } from "../../features/global-search/types/objectInfo/objectInfo.js";
2
- import type { SearchableObjectConfig } from "../../lib/globalSearchConstants.js";
1
+ import type { ObjectInfoResult } from "../../features/global-search/types/objectInfo/objectInfo";
2
+ import type { SearchableObjectConfig } from "../../lib/globalSearchConstants";
3
3
  import {
4
4
  Select,
5
5
  SelectContent,
@@ -1,5 +1,5 @@
1
1
  import type { Filter } from "../../features/global-search/types/filters/filters";
2
- import { getRangeMinKey, getRangeMaxKey } from "../../lib/filterUtils.js";
2
+ import { getRangeMinKey, getRangeMaxKey } from "../../lib/filterUtils";
3
3
 
4
4
  const inputClass =
5
5
  "h-9 px-3 rounded-md border border-gray-300 bg-white text-sm focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent w-20";
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
2
  import type { Filter } from "../../features/global-search/types/filters/filters";
3
- import { ALL_PLACEHOLDER_VALUE, MULTI_VALUE_SEP } from "../../lib/filterUtils.js";
3
+ import { ALL_PLACEHOLDER_VALUE, MULTI_VALUE_SEP } from "../../lib/filterUtils";
4
4
  import {
5
5
  Select,
6
6
  SelectContent,
@@ -1,7 +1,7 @@
1
1
  import type { Filter } from "../../features/global-search/types/filters/filters";
2
- import { FilterFieldRange } from "./FilterFieldRange.js";
3
- import { FilterFieldSelect } from "./FilterFieldSelect.js";
4
- import { FilterFieldText } from "./FilterFieldText.js";
2
+ import { FilterFieldRange } from "./FilterFieldRange";
3
+ import { FilterFieldSelect } from "./FilterFieldSelect";
4
+ import { FilterFieldText } from "./FilterFieldText";
5
5
 
6
6
  /** Compatible with feature picklist option shape (label/value). */
7
7
  interface PicklistOption {
@@ -1,10 +1,10 @@
1
1
  import type { ReactNode } from "react";
2
2
  import type { Filter } from "../../features/global-search/types/filters/filters";
3
- import { PageContainer } from "../layout/PageContainer.js";
4
- import { PageLoadingState } from "../feedback/PageLoadingState.js";
5
- import { PageErrorState } from "../feedback/PageErrorState.js";
6
- import { FilterErrorAlert } from "../feedback/FilterErrorAlert.js";
7
- import { ListPageFilterRow } from "../filters/ListPageFilterRow.js";
3
+ import { PageContainer } from "../layout/PageContainer";
4
+ import { PageLoadingState } from "../feedback/PageLoadingState";
5
+ import { PageErrorState } from "../feedback/PageErrorState";
6
+ import { FilterErrorAlert } from "../feedback/FilterErrorAlert";
7
+ import { ListPageFilterRow } from "../filters/ListPageFilterRow";
8
8
 
9
9
  /** Compatible with feature picklist option shape. */
10
10
  interface PicklistOption {
@@ -3,14 +3,14 @@ import { useSearchParams } from "react-router";
3
3
  import { useObjectListMetadata } from "../features/global-search/hooks/useObjectSearchData";
4
4
  import type { FilterCriteria } from "../features/global-search/types/filters/filters";
5
5
  import { useRecordListGraphQL } from "../features/global-search/hooks/useRecordListGraphQL";
6
- import { PAGE_SIZE_LIST } from "../lib/constants.js";
6
+ import { PAGE_SIZE_LIST } from "../lib/constants";
7
7
  import {
8
8
  buildFilterCriteriaFromFormValues,
9
9
  getDefaultFilterFormValues,
10
10
  getApplicableFilters,
11
- } from "../lib/filterUtils.js";
12
- import { useAccumulatedListPages } from "./useAccumulatedListPages.js";
13
- import type { ListPageConfig } from "../lib/listPageConfig.js";
11
+ } from "../lib/filterUtils";
12
+ import { useAccumulatedListPages } from "./useAccumulatedListPages";
13
+ import type { ListPageConfig } from "../lib/listPageConfig";
14
14
 
15
15
  /** Picklist option shape from useObjectListMetadata (label/value). */
16
16
  export interface PicklistOption {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Adapter: maps Application__c GraphQL node to app Application type.
3
3
  */
4
- import type { Application } from "./types.js";
4
+ import type { Application } from "./types";
5
5
 
6
6
  interface ApplicationNode {
7
7
  Id?: string;
@@ -2,7 +2,7 @@
2
2
  * Maps Salesforce API field paths (from getObjectListFilters) to our app record properties.
3
3
  * Used by applyFilterCriteria when filtering list data with FilterCriteria from the feature API.
4
4
  */
5
- import type { Property, MaintenanceRequest, Application } from "./types.js";
5
+ import type { Property, MaintenanceRequest, Application } from "./types";
6
6
 
7
7
  const PROPERTY_FIELD_MAP: Record<string, (p: Property) => string | number | undefined> = {
8
8
  Name: (p) => p.name,
@@ -7,7 +7,7 @@ import {
7
7
  FALLBACK_LABEL_MAINTENANCE_PLURAL,
8
8
  FALLBACK_LABEL_MAINTENANCE_WORKERS_PLURAL,
9
9
  FALLBACK_LABEL_APPLICATIONS_PLURAL,
10
- } from "./constants.js";
10
+ } from "./constants";
11
11
 
12
12
  export const GLOBAL_SEARCH_OBJECT_API_NAME = "Property__c" as const;
13
13
  export const MAINTENANCE_OBJECT_API_NAME = "Maintenance_Request__c" as const;
@@ -6,19 +6,19 @@ import {
6
6
  MAINTENANCE_OBJECT_API_NAME,
7
7
  MAINTENANCE_WORKER_OBJECT_API_NAME,
8
8
  APPLICATION_OBJECT_API_NAME,
9
- } from "./globalSearchConstants.js";
10
- import { getMaintenanceColumns } from "./maintenanceColumns.js";
11
- import { getMaintenanceWorkerColumns } from "./maintenanceWorkerColumns.js";
12
- import { getApplicationListColumns } from "./applicationColumns.js";
9
+ } from "./globalSearchConstants";
10
+ import { getMaintenanceColumns } from "./maintenanceColumns";
11
+ import { getMaintenanceWorkerColumns } from "./maintenanceWorkerColumns";
12
+ import { getApplicationListColumns } from "./applicationColumns";
13
13
  import {
14
14
  MAINTENANCE_FILTER_EXCLUDED_FIELD_PATHS,
15
15
  MAINTENANCE_WORKER_FILTER_EXCLUDED_FIELD_PATHS,
16
16
  APPLICATION_FILTER_EXCLUDED_FIELD_PATHS,
17
- } from "./constants.js";
18
- import { nodeToMaintenanceRequest } from "./maintenanceAdapter.js";
19
- import { nodeToMaintenanceWorker } from "./maintenanceWorkerAdapter.js";
20
- import { nodeToApplication } from "./applicationAdapter.js";
21
- import type { MaintenanceRequest, MaintenanceWorker, Application } from "./types.js";
17
+ } from "./constants";
18
+ import { nodeToMaintenanceRequest } from "./maintenanceAdapter";
19
+ import { nodeToMaintenanceWorker } from "./maintenanceWorkerAdapter";
20
+ import { nodeToApplication } from "./applicationAdapter";
21
+ import type { MaintenanceRequest, MaintenanceWorker, Application } from "./types";
22
22
 
23
23
  export interface ListPageConfig<T> {
24
24
  objectApiName: string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Adapter: maps Maintenance_Request__c GraphQL node to app MaintenanceRequest type.
3
3
  */
4
- import type { MaintenanceRequest } from "./types.js";
4
+ import type { MaintenanceRequest } from "./types";
5
5
 
6
6
  interface MaintenanceNode {
7
7
  Id?: string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Adapter: maps Maintenance_Worker__c GraphQL node to app MaintenanceWorker type.
3
3
  */
4
- import type { MaintenanceWorker } from "./types.js";
4
+ import type { MaintenanceWorker } from "./types";
5
5
 
6
6
  interface MaintenanceWorkerNode {
7
7
  Id?: string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Adapter: maps Property__c GraphQL node (from feature-global-search) to app Property type.
3
3
  */
4
- import type { Property } from "./types.js";
4
+ import type { Property } from "./types";
5
5
 
6
6
  interface PropertyNode {
7
7
  Id?: string;
@@ -1,12 +1,12 @@
1
1
  import { useEffect, useState } from "react";
2
- import { useListPage } from "../hooks/useListPage.js";
3
- import { applicationsListConfig } from "../lib/listPageConfig.js";
4
- import { ListPageWithFilters } from "../components/list/ListPageWithFilters.js";
5
- import { PageHeader } from "../components/layout/PageHeader.js";
6
- import { ApplicationsTable } from "../components/ApplicationsTable.js";
7
- import { ApplicationDetailsModal } from "../components/ApplicationDetailsModal.js";
8
- import { updateApplicationStatus } from "../api/applications.js";
9
- import type { Application } from "../lib/types.js";
2
+ import { useListPage } from "../hooks/useListPage";
3
+ import { applicationsListConfig } from "../lib/listPageConfig";
4
+ import { ListPageWithFilters } from "../components/list/ListPageWithFilters";
5
+ import { PageHeader } from "../components/layout/PageHeader";
6
+ import { ApplicationsTable } from "../components/ApplicationsTable";
7
+ import { ApplicationDetailsModal } from "../components/ApplicationDetailsModal";
8
+ import { updateApplicationStatus } from "../api/applications";
9
+ import type { Application } from "../lib/types";
10
10
 
11
11
  export default function Applications() {
12
12
  const list = useListPage(applicationsListConfig);
@@ -3,24 +3,24 @@ import { useNavigate } from "react-router";
3
3
  import { useRecordListGraphQL } from "../features/global-search/hooks/useRecordListGraphQL";
4
4
  import { useObjectInfoBatch } from "../features/global-search/hooks/useObjectInfoBatch";
5
5
  import { useObjectListMetadata } from "../features/global-search/hooks/useObjectSearchData";
6
- import { IssuesDonutChart } from "../components/IssuesDonutChart.js";
7
- import { MaintenanceTable } from "../components/MaintenanceTable.js";
8
- import { GlobalSearchBar } from "../components/dashboard/GlobalSearchBar.js";
9
- import { StatCard } from "../components/StatCard.js";
10
- import { PageContainer } from "../components/layout/PageContainer.js";
11
- import { PageLoadingState } from "../components/feedback/PageLoadingState.js";
12
- import { getDashboardMetrics, calculateMetrics } from "../api/dashboard.js";
13
- import type { DashboardMetrics, MaintenanceRequest } from "../lib/types.js";
6
+ import { IssuesDonutChart } from "../components/IssuesDonutChart";
7
+ import { MaintenanceTable } from "../components/MaintenanceTable";
8
+ import { GlobalSearchBar } from "../components/dashboard/GlobalSearchBar";
9
+ import { StatCard } from "../components/StatCard";
10
+ import { PageContainer } from "../components/layout/PageContainer";
11
+ import { PageLoadingState } from "../components/feedback/PageLoadingState";
12
+ import { getDashboardMetrics, calculateMetrics } from "../api/dashboard";
13
+ import type { DashboardMetrics, MaintenanceRequest } from "../lib/types";
14
14
  import {
15
15
  GLOBAL_SEARCH_OBJECT_API_NAME,
16
16
  SEARCHABLE_OBJECTS,
17
17
  MAINTENANCE_OBJECT_API_NAME,
18
18
  type SearchableObjectConfig,
19
- } from "../lib/globalSearchConstants.js";
20
- import { getMaintenanceColumns } from "../lib/maintenanceColumns.js";
21
- import { nodeToMaintenanceRequest } from "../lib/maintenanceAdapter.js";
22
- import { DASHBOARD_MAINTENANCE_LIMIT } from "../lib/constants.js";
23
- import { PATHS } from "../lib/routeConfig.js";
19
+ } from "../lib/globalSearchConstants";
20
+ import { getMaintenanceColumns } from "../lib/maintenanceColumns";
21
+ import { nodeToMaintenanceRequest } from "../lib/maintenanceAdapter";
22
+ import { DASHBOARD_MAINTENANCE_LIMIT } from "../lib/constants";
23
+ import { PATHS } from "../lib/routeConfig";
24
24
 
25
25
  const CHART_ISSUE_TYPES = ["Plumbing", "HVAC", "Electrical", "Appliance", "Pest"] as const;
26
26
  const CHART_COLORS = ["#7C3AED", "#EC4899", "#14B8A6", "#06B6D4", "#F59E0B"] as const;
@@ -1,14 +1,14 @@
1
1
  import { useEffect, useState } from "react";
2
2
  import { ChevronDown } from "lucide-react";
3
- import { useListPage } from "../hooks/useListPage.js";
4
- import { maintenanceRequestsListConfig } from "../lib/listPageConfig.js";
5
- import { ListPageWithFilters } from "../components/list/ListPageWithFilters.js";
6
- import { PageHeader } from "../components/layout/PageHeader.js";
7
- import { UserAvatar } from "../components/UserAvatar.js";
8
- import { StatusBadge } from "../components/StatusBadge.js";
9
- import { MaintenanceDetailsModal } from "../components/MaintenanceDetailsModal.js";
10
- import { updateMaintenanceStatus } from "../api/maintenance.js";
11
- import type { MaintenanceRequest } from "../lib/types.js";
3
+ import { useListPage } from "../hooks/useListPage";
4
+ import { maintenanceRequestsListConfig } from "../lib/listPageConfig";
5
+ import { ListPageWithFilters } from "../components/list/ListPageWithFilters";
6
+ import { PageHeader } from "../components/layout/PageHeader";
7
+ import { UserAvatar } from "../components/UserAvatar";
8
+ import { StatusBadge } from "../components/StatusBadge";
9
+ import { MaintenanceDetailsModal } from "../components/MaintenanceDetailsModal";
10
+ import { updateMaintenanceStatus } from "../api/maintenance";
11
+ import type { MaintenanceRequest } from "../lib/types";
12
12
  import PlumbingIcon from "../assets/icons/plumbing.svg";
13
13
  import HVACIcon from "../assets/icons/hvac.svg";
14
14
  import ElectricalIcon from "../assets/icons/electrical.svg";
@@ -1,10 +1,10 @@
1
1
  import { useState, useEffect, useMemo } from "react";
2
- import { useListPage } from "../hooks/useListPage.js";
3
- import { maintenanceWorkersListConfig } from "../lib/listPageConfig.js";
4
- import { ListPageWithFilters } from "../components/list/ListPageWithFilters.js";
5
- import { PageHeader } from "../components/layout/PageHeader.js";
6
- import { getAllMaintenanceRequests } from "../api/maintenance.js";
7
- import type { MaintenanceWorker } from "../lib/types.js";
2
+ import { useListPage } from "../hooks/useListPage";
3
+ import { maintenanceWorkersListConfig } from "../lib/listPageConfig";
4
+ import { ListPageWithFilters } from "../components/list/ListPageWithFilters";
5
+ import { PageHeader } from "../components/layout/PageHeader";
6
+ import { getAllMaintenanceRequests } from "../api/maintenance";
7
+ import type { MaintenanceWorker } from "../lib/types";
8
8
 
9
9
  export default function MaintenanceWorkers() {
10
10
  const list = useListPage(maintenanceWorkersListConfig);
@@ -4,25 +4,25 @@ import { type FilterCriteria } from "../features/global-search/types/filters/fil
4
4
  import { useObjectListMetadata } from "../features/global-search/hooks/useObjectSearchData";
5
5
  import { useRecordListGraphQL } from "../features/global-search/hooks/useRecordListGraphQL";
6
6
 
7
- import type { Property } from "../lib/types.js";
8
- import { PropertyCard } from "../components/PropertyCard.js";
9
- import { PropertyDetailsModal } from "../components/PropertyDetailsModal.js";
10
- import { PageContainer } from "../components/layout/PageContainer.js";
11
- import { PageHeader } from "../components/layout/PageHeader.js";
12
- import { PageLoadingState } from "../components/feedback/PageLoadingState.js";
13
- import { PageErrorState } from "../components/feedback/PageErrorState.js";
14
- import { FilterErrorAlert } from "../components/feedback/FilterErrorAlert.js";
15
- import { ListPageFilterRow } from "../components/filters/ListPageFilterRow.js";
16
- import { GLOBAL_SEARCH_OBJECT_API_NAME } from "../lib/globalSearchConstants.js";
17
- import { nodeToProperty } from "../lib/propertyAdapter.js";
18
- import { getPropertyListColumns } from "../lib/propertyColumns.js";
7
+ import type { Property } from "../lib/types";
8
+ import { PropertyCard } from "../components/PropertyCard";
9
+ import { PropertyDetailsModal } from "../components/PropertyDetailsModal";
10
+ import { PageContainer } from "../components/layout/PageContainer";
11
+ import { PageHeader } from "../components/layout/PageHeader";
12
+ import { PageLoadingState } from "../components/feedback/PageLoadingState";
13
+ import { PageErrorState } from "../components/feedback/PageErrorState";
14
+ import { FilterErrorAlert } from "../components/feedback/FilterErrorAlert";
15
+ import { ListPageFilterRow } from "../components/filters/ListPageFilterRow";
16
+ import { GLOBAL_SEARCH_OBJECT_API_NAME } from "../lib/globalSearchConstants";
17
+ import { nodeToProperty } from "../lib/propertyAdapter";
18
+ import { getPropertyListColumns } from "../lib/propertyColumns";
19
19
  import {
20
20
  buildFilterCriteriaFromFormValues,
21
21
  getDefaultFilterFormValues,
22
22
  getApplicableFilters,
23
- } from "../lib/filterUtils.js";
24
- import { PAGE_SIZE_LIST, PROPERTY_FILTER_EXCLUDED_FIELD_PATHS } from "../lib/constants.js";
25
- import { useAccumulatedListPages } from "../hooks/useAccumulatedListPages.js";
23
+ } from "../lib/filterUtils";
24
+ import { PAGE_SIZE_LIST, PROPERTY_FILTER_EXCLUDED_FIELD_PATHS } from "../lib/constants";
25
+ import { useAccumulatedListPages } from "../hooks/useAccumulatedListPages";
26
26
 
27
27
  const PROPERTIES_DEFAULT_SORT = "CreatedDate DESC";
28
28
 
@@ -12,7 +12,7 @@ import Maintenance from "./pages/Maintenance";
12
12
  import MaintenanceWorkers from "./pages/MaintenanceWorkers";
13
13
  import Properties from "./pages/Properties";
14
14
  import Applications from "./pages/Applications";
15
- import { PATHS } from "./lib/routeConfig.js";
15
+ import { PATHS } from "./lib/routeConfig";
16
16
 
17
17
  export const routes: RouteObject[] = [
18
18
  {
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/webapp-template-base-sfdx-project-experimental",
3
- "version": "1.81.0",
3
+ "version": "1.82.0",
4
4
  "description": "Base SFDX project template",
5
5
  "private": true,
6
6
  "files": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforce/webapp-template-app-react-sample-b2e-experimental",
3
- "version": "1.81.0",
3
+ "version": "1.82.0",
4
4
  "description": "B2E starter app template",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "author": "",
@@ -16,8 +16,8 @@
16
16
  "clean": "rm -rf dist"
17
17
  },
18
18
  "dependencies": {
19
- "@salesforce/webapp-experimental": "^1.81.0",
20
- "@salesforce/webapp-template-feature-react-global-search-experimental": "^1.81.0"
19
+ "@salesforce/webapp-experimental": "^1.82.0",
20
+ "@salesforce/webapp-template-feature-react-global-search-experimental": "^1.82.0"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@testing-library/jest-dom": "^6.6.3",