formica-ui-lib 1.0.250 → 1.0.252

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,7 +1,9 @@
1
1
  import { InputProps } from "../../atoms/input/inputProps";
2
+ export type SearchBarControlSize = "compact" | "default";
2
3
  export interface SearchBarSubmitPayload {
3
4
  value: string;
4
5
  }
5
6
  export type SearchBarProps = Omit<InputProps, "type" | "leadingIcon" | "trailingIcon" | "clearable"> & {
7
+ controlSize?: SearchBarControlSize;
6
8
  onSearchSubmit?: (payload: SearchBarSubmitPayload) => void;
7
9
  };
@@ -29,8 +29,10 @@ export interface SearchComboboxProps {
29
29
  disabled?: boolean;
30
30
  readOnly?: boolean;
31
31
  clearLabel?: string;
32
+ controlSize?: SearchBarControlSize;
32
33
  onQueryChange?: (payload: SearchComboboxQueryChangePayload) => void;
33
34
  onOptionSelect?: (payload: SearchComboboxSelectPayload) => void;
34
35
  onSearchSubmit?: (payload: SearchComboboxSubmitPayload) => void;
35
36
  onClear?: (payload: SearchComboboxClearPayload) => void;
36
37
  }
38
+ import type { SearchBarControlSize } from "../searchbar/SearchBarProps";
@@ -3,8 +3,8 @@ import type { LocalizationMarketItem } from "../../../organisms/collections/loca
3
3
  import type { LocalizationStatusCardClickPayload } from "../../../molecules/cards/localizationstatuscard/LocalizationStatusCardProps";
4
4
  import type { CommerceSyncPanelProps } from "../../../organisms/sections/commercesyncpanel/CommerceSyncPanelProps";
5
5
  import type { AdminSideNavProps } from "../../../organisms/navigation/AdminSideNavProps";
6
- export type ProductLocalizationTabId = string;
7
- export interface ProductLocalizationProduct {
6
+ export type MarketReadinessTabId = string;
7
+ export interface MarketReadinessProduct {
8
8
  name: string;
9
9
  sku: string;
10
10
  partNumber: string;
@@ -14,46 +14,46 @@ export interface ProductLocalizationProduct {
14
14
  completedLocalizationCount: number;
15
15
  requiredLocalizationCount: number;
16
16
  requiredMarketsLabel: string;
17
- hierarchy?: ProductLocalizationHierarchy;
17
+ hierarchy?: MarketReadinessHierarchy;
18
18
  }
19
- export interface ProductLocalizationHierarchy {
19
+ export interface MarketReadinessHierarchy {
20
20
  parentId: string;
21
21
  levelLabel: string;
22
22
  status: "valid" | "missing";
23
23
  statusLabel: string;
24
24
  }
25
- export interface ProductLocalizationActiveRecord {
25
+ export interface MarketReadinessActiveRecord {
26
26
  id: string;
27
27
  heading: string;
28
28
  completionStatus: "complete" | "incomplete";
29
29
  completionStatusLabel: string;
30
- saveStatus: ProductLocalizationSaveStatus;
30
+ saveStatus: MarketReadinessSaveStatus;
31
31
  saveStatusLabel: string;
32
32
  saveErrorMessage?: string;
33
33
  lastSavedLabel?: string;
34
34
  missingRequiredFieldLabels: string[];
35
35
  }
36
- export type ProductLocalizationSaveStatus = "saved" | "unsaved" | "saving" | "error";
37
- interface ProductLocalizationTabBase {
38
- id: ProductLocalizationTabId;
36
+ export type MarketReadinessSaveStatus = "saved" | "unsaved" | "saving" | "error";
37
+ interface MarketReadinessTabBase {
38
+ id: MarketReadinessTabId;
39
39
  label: string;
40
40
  heading?: string;
41
41
  description?: string;
42
42
  }
43
- export interface ProductLocalizationFormTab extends ProductLocalizationTabBase {
43
+ export interface MarketReadinessFormTab extends MarketReadinessTabBase {
44
44
  type: "form";
45
45
  fields: DynamicFormFieldConfig[];
46
46
  }
47
- export interface ProductLocalizationInformationTab extends ProductLocalizationTabBase {
47
+ export interface MarketReadinessInformationTab extends MarketReadinessTabBase {
48
48
  type: "information";
49
49
  fields: DynamicFormFieldConfig[];
50
50
  }
51
- export interface ProductLocalizationCommerceSyncTab extends ProductLocalizationTabBase {
51
+ export interface MarketReadinessCommerceSyncTab extends MarketReadinessTabBase {
52
52
  type: "commerceSync";
53
53
  panel: Omit<CommerceSyncPanelProps, "onLxSyncClick" | "onBigCommerceSyncClick" | "onRefreshClick">;
54
54
  }
55
- export type ProductLocalizationTab = ProductLocalizationFormTab | ProductLocalizationInformationTab | ProductLocalizationCommerceSyncTab;
56
- export interface ProductLocalizationSaveControls {
55
+ export type MarketReadinessTab = MarketReadinessFormTab | MarketReadinessInformationTab | MarketReadinessCommerceSyncTab;
56
+ export interface MarketReadinessSaveControls {
57
57
  cancelLabel: string;
58
58
  cancelDisabled?: boolean;
59
59
  saveLabel: string;
@@ -64,55 +64,55 @@ export interface ProductLocalizationSaveControls {
64
64
  localizationSelectionDisabled?: boolean;
65
65
  tabSelectionDisabled?: boolean;
66
66
  }
67
- export interface ProductLocalizationNotice {
67
+ export interface MarketReadinessNotice {
68
68
  tone: "info" | "warning" | "error" | "success";
69
69
  title?: string;
70
70
  message: string;
71
71
  actionLabel?: string;
72
72
  }
73
- export interface ProductLocalizationTemplateData {
73
+ export interface MarketReadinessTemplateData {
74
74
  pageTitle: string;
75
75
  pageDescription?: string;
76
- product: ProductLocalizationProduct;
77
- localization: ProductLocalizationActiveRecord;
76
+ product: MarketReadinessProduct;
77
+ localization: MarketReadinessActiveRecord;
78
78
  markets: LocalizationMarketItem[];
79
- tabs: ProductLocalizationTab[];
80
- activeTabId: ProductLocalizationTabId;
81
- saveControls: ProductLocalizationSaveControls;
82
- notice?: ProductLocalizationNotice;
79
+ tabs: MarketReadinessTab[];
80
+ activeTabId: MarketReadinessTabId;
81
+ saveControls: MarketReadinessSaveControls;
82
+ notice?: MarketReadinessNotice;
83
83
  }
84
- export interface ProductLocalizationFieldChangePayload {
84
+ export interface MarketReadinessFieldChangePayload {
85
85
  localizationId: string;
86
- tabId: ProductLocalizationTabId;
86
+ tabId: MarketReadinessTabId;
87
87
  fieldId: string;
88
88
  value: DynamicFormFieldValue;
89
89
  }
90
- export interface ProductLocalizationTabSelectPayload {
91
- tabId: ProductLocalizationTabId;
90
+ export interface MarketReadinessTabSelectPayload {
91
+ tabId: MarketReadinessTabId;
92
92
  label: string;
93
93
  }
94
- export interface ProductLocalizationActionPayload {
94
+ export interface MarketReadinessActionPayload {
95
95
  localizationId: string;
96
96
  }
97
- export interface ProductLocalizationSyncActionPayload {
97
+ export interface MarketReadinessSyncActionPayload {
98
98
  localizationId: string;
99
99
  sku: string;
100
100
  }
101
- interface ProductLocalizationTemplateCallbacks {
101
+ interface MarketReadinessTemplateCallbacks {
102
102
  sideNavProps?: AdminSideNavProps;
103
- data: ProductLocalizationTemplateData;
103
+ data: MarketReadinessTemplateData;
104
104
  onLocalizationSelect?: (payload: LocalizationStatusCardClickPayload) => void;
105
- onTabSelect?: (payload: ProductLocalizationTabSelectPayload) => void;
106
- onFieldChange?: (payload: ProductLocalizationFieldChangePayload) => void;
107
- onSave?: (payload: ProductLocalizationActionPayload) => void;
108
- onCancel?: (payload: ProductLocalizationActionPayload) => void;
109
- onSaveAndNext?: (payload: ProductLocalizationActionPayload) => void;
110
- onLxSyncClick?: (payload: ProductLocalizationSyncActionPayload) => void;
111
- onBigCommerceSyncClick?: (payload: ProductLocalizationSyncActionPayload) => void;
112
- onCommerceRefreshClick?: (payload: ProductLocalizationSyncActionPayload) => void;
105
+ onTabSelect?: (payload: MarketReadinessTabSelectPayload) => void;
106
+ onFieldChange?: (payload: MarketReadinessFieldChangePayload) => void;
107
+ onSave?: (payload: MarketReadinessActionPayload) => void;
108
+ onCancel?: (payload: MarketReadinessActionPayload) => void;
109
+ onSaveAndNext?: (payload: MarketReadinessActionPayload) => void;
110
+ onLxSyncClick?: (payload: MarketReadinessSyncActionPayload) => void;
111
+ onBigCommerceSyncClick?: (payload: MarketReadinessSyncActionPayload) => void;
112
+ onCommerceRefreshClick?: (payload: MarketReadinessSyncActionPayload) => void;
113
113
  onNoticeActionClick?: () => void;
114
114
  }
115
- export type ProductLocalizationTemplateProps = (ProductLocalizationTemplateCallbacks & {
115
+ export type MarketReadinessTemplateProps = (MarketReadinessTemplateCallbacks & {
116
116
  state?: "ready";
117
117
  }) | {
118
118
  state: "loading";
@@ -0,0 +1,58 @@
1
+ import type { AdminSideNavProps } from "../../../organisms/navigation/AdminSideNavProps";
2
+ import type { SearchComboboxOption, SearchComboboxSelectPayload } from "../../../molecules/searchcombobox/SearchComboboxProps";
3
+ export type MarketReadinessLandingStatus = "idle" | "checking" | "error";
4
+ export interface MarketReadinessSkuChangePayload {
5
+ value: string;
6
+ }
7
+ export interface MarketReadinessSkuActionPayload {
8
+ sku: string;
9
+ }
10
+ export interface MarketReadinessCopySkuActionPayload {
11
+ sourceSku: string;
12
+ newSku: string;
13
+ }
14
+ export interface MarketReadinessLandingTemplateProps {
15
+ pageTitle: string;
16
+ pageDescription?: string;
17
+ sideNavProps: AdminSideNavProps;
18
+ getStartedTitle?: string;
19
+ getStartedDescription?: string;
20
+ skuValue: string;
21
+ skuOptions?: SearchComboboxOption[];
22
+ skuLabel?: string;
23
+ skuPlaceholder?: string;
24
+ skuEmptyMessage?: string;
25
+ skuHelpText?: string;
26
+ status: MarketReadinessLandingStatus;
27
+ statusMessage?: string;
28
+ openExistingLabel?: string;
29
+ openExistingDisabled?: boolean;
30
+ createNewPrompt?: string;
31
+ createNewDescription?: string;
32
+ createNewLabel?: string;
33
+ createNewHelpText?: string;
34
+ createNewDisabled?: boolean;
35
+ copySkuTitle?: string;
36
+ copySkuDescription?: string;
37
+ sourceSkuValue: string;
38
+ sourceSkuOptions?: SearchComboboxOption[];
39
+ sourceSkuLabel?: string;
40
+ sourceSkuPlaceholder?: string;
41
+ sourceSkuEmptyMessage?: string;
42
+ newSkuValue: string;
43
+ newSkuLabel?: string;
44
+ newSkuPlaceholder?: string;
45
+ copySkuLabel?: string;
46
+ copySkuHelpText?: string;
47
+ copySkuDisabled?: boolean;
48
+ retryLabel?: string;
49
+ onSkuChange: (payload: MarketReadinessSkuChangePayload) => void;
50
+ onSkuOptionSelect?: (payload: SearchComboboxSelectPayload) => void;
51
+ onOpenExistingClick: (payload: MarketReadinessSkuActionPayload) => void;
52
+ onCreateNewClick: (payload: MarketReadinessSkuActionPayload) => void;
53
+ onSourceSkuChange: (payload: MarketReadinessSkuChangePayload) => void;
54
+ onSourceSkuOptionSelect?: (payload: SearchComboboxSelectPayload) => void;
55
+ onNewSkuChange: (payload: MarketReadinessSkuChangePayload) => void;
56
+ onCopySkuClick: (payload: MarketReadinessCopySkuActionPayload) => void;
57
+ onRetryClick?: () => void;
58
+ }
@@ -0,0 +1,72 @@
1
+ import type { AdminSideNavProps } from "../../../organisms/navigation/AdminSideNavProps";
2
+ import type { AdminTemplateStatus } from "../shared/AdminTemplateStatus";
3
+ export type AdminProductGuideActionStatus = "idle" | "validating" | "pending" | "success" | "error";
4
+ export type AdminProductGuideAvailability = "available" | "coming-soon";
5
+ export interface AdminProductGuideSelectedFile {
6
+ name: string;
7
+ sizeLabel?: string;
8
+ }
9
+ export interface AdminProductGuideValidationIssue {
10
+ path: string;
11
+ message: string;
12
+ }
13
+ export interface AdminProductGuideSummary {
14
+ schemaVersion: number;
15
+ productCount: number;
16
+ offeringSetCount: number;
17
+ rangeProductCounts: Record<string, number>;
18
+ }
19
+ export interface AdminProductGuideStorage {
20
+ source: "bundled" | "runtime-upload";
21
+ durable: boolean;
22
+ updatedAt: string | null;
23
+ updatedBy: string | null;
24
+ }
25
+ export interface AdminProductGuideLogo {
26
+ src: string;
27
+ alt?: string;
28
+ }
29
+ export interface AdminProductGuideCard {
30
+ id: string;
31
+ title: string;
32
+ description: string;
33
+ logo?: AdminProductGuideLogo;
34
+ availability?: AdminProductGuideAvailability;
35
+ availabilityMessage?: string;
36
+ edition?: string;
37
+ effectiveDate?: string;
38
+ sourceFileName?: string;
39
+ summary?: AdminProductGuideSummary;
40
+ storage?: AdminProductGuideStorage;
41
+ selectedFile?: AdminProductGuideSelectedFile;
42
+ actionStatus?: AdminProductGuideActionStatus;
43
+ actionStatusMessage?: string;
44
+ validationIssues?: AdminProductGuideValidationIssue[];
45
+ uploadDisabled?: boolean;
46
+ }
47
+ export interface AdminProductGuideFileSelectPayload {
48
+ guideId: string;
49
+ files: File[];
50
+ }
51
+ export interface AdminProductGuideActionPayload {
52
+ guideId: string;
53
+ }
54
+ export interface AdminProductGuidesTemplateProps {
55
+ pageTitle: string;
56
+ pageDescription?: string;
57
+ sideNavProps: AdminSideNavProps;
58
+ status?: AdminTemplateStatus;
59
+ guides: AdminProductGuideCard[];
60
+ emptyTitle?: string;
61
+ emptyDescription?: string;
62
+ uploadDropLabel?: string;
63
+ uploadBrowseLabel?: string;
64
+ uploadHelpText?: string;
65
+ uploadLabel?: string;
66
+ clearFileLabel?: string;
67
+ completeLabel?: string;
68
+ onGuideFileSelect?: (payload: AdminProductGuideFileSelectPayload) => void;
69
+ onUploadClick?: (payload: AdminProductGuideActionPayload) => void;
70
+ onClearSelectedFileClick?: (payload: AdminProductGuideActionPayload) => void;
71
+ onRetryClick?: () => void;
72
+ }