@vtex/faststore-plugin-buyer-portal 1.1.87 → 1.1.88

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 (39) hide show
  1. package/CHANGELOG.md +39 -28
  2. package/package.json +1 -1
  3. package/src/features/addresses/components/AddressForm/AddressForm.tsx +72 -41
  4. package/src/features/addresses/data/USA.ts +69 -64
  5. package/src/features/addresses/data/countries.ts +6 -1
  6. package/src/features/addresses/data/states.ts +4 -2
  7. package/src/features/addresses/layouts/AddressDetailsLayout/AddressDetailsLayout.tsx +10 -1
  8. package/src/features/addresses/utils/index.ts +1 -0
  9. package/src/features/addresses/utils/stateUtils.ts +63 -0
  10. package/src/features/budgets/components/BudgetAddForm/budget-add-form.scss +9 -3
  11. package/src/features/budgets/components/BudgetAllocationsSelection/budget-allocations-selection.scss +2 -2
  12. package/src/features/budgets/components/BudgetAllocationsTable/budget-allocations-table.scss +29 -0
  13. package/src/features/budgets/components/BudgetDeleteDrawer/budget-delete-drawer.scss +13 -0
  14. package/src/features/budgets/components/BudgetRemainingBalance/BudgetRemainingBalance.tsx +5 -1
  15. package/src/features/budgets/components/BudgetRemainingBalance/budget-remaining-balance.scss +18 -1
  16. package/src/features/budgets/components/BudgetSettingsInfo/budget-settings-info.scss +19 -0
  17. package/src/features/budgets/components/BudgetsTable/BudgetsTable.tsx +12 -2
  18. package/src/features/budgets/components/BudgetsTable/budgets-table.scss +30 -1
  19. package/src/features/budgets/components/CreateBudgetAllocationDrawer/create-budget-allocation-drawer.scss +22 -6
  20. package/src/features/budgets/components/CreateBudgetDrawer/create-budget-drawer.scss +15 -6
  21. package/src/features/budgets/components/DeleteBudgetAllocationDrawer/delete-budget-allocations.scss +15 -1
  22. package/src/features/budgets/components/EditBudgetDrawer/edit-budget-drawer.scss +11 -1
  23. package/src/features/budgets/layouts/BudgetsDetailsLayout/BudgetsDetailsLayout.tsx +76 -75
  24. package/src/features/budgets/layouts/BudgetsDetailsLayout/budget-details-layout.scss +22 -19
  25. package/src/features/budgets/layouts/BudgetsLayout/budgets-layout.scss +6 -0
  26. package/src/features/buying-policies/components/BasicBuyingPolicyDrawer/basic-buying-policy-drawer.scss +4 -0
  27. package/src/features/buying-policies/layouts/BuyingPoliciesLayout/buying-policies-layout.scss +41 -6
  28. package/src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/BuyingPolicyDetailsLayout.tsx +1 -1
  29. package/src/features/buying-policies/layouts/BuyingPolicyDetailsLayout/buying-policy-details-layout.scss +17 -1
  30. package/src/features/payment-methods/components/AddPaymentMethodsDrawer/AddPaymentMethodsDrawer.tsx +93 -68
  31. package/src/features/payment-methods/components/AddPaymentMethodsDrawer/add-payment-methods-drawer.scss +66 -30
  32. package/src/features/payment-methods/components/SearchPaymentMethods/SearchPaymentMethods.tsx +6 -4
  33. package/src/features/payment-methods/components/SearchPaymentMethods/search-payment-methods.scss +3 -0
  34. package/src/features/payment-methods/layouts/PaymentMethodsLayout/PaymentMethodsLayout.tsx +65 -54
  35. package/src/features/payment-methods/layouts/PaymentMethodsLayout/payment-methods-layout.scss +121 -103
  36. package/src/features/shared/components/CustomDropdown/custom-dropdown.scss +5 -0
  37. package/src/features/shared/components/Pagination/Pagination.tsx +18 -8
  38. package/src/features/shared/components/Pagination/pagination.scss +14 -0
  39. package/src/features/shared/layouts/BaseTabsLayout/sidebar-drawer/sidebar-drawer.scss +5 -3
package/CHANGELOG.md CHANGED
@@ -7,62 +7,73 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - Added responsiveness to the Payment Methods list.
13
+ - Implemented responsiveness across all drawers in the Payment Methods flow.
14
+ - Ensured responsive behavior for toasts and empty states.
15
+
10
16
  ### Fixed
11
- - Allow creation of user with no roles
17
+
18
+ - Allow creation of user with no roles
19
+
20
+ ### Added
21
+
22
+ - Responsiviness to Buying policies page
12
23
 
13
24
  ### Added
14
25
 
15
- - Credit card page responsiveness
16
- - Change for the store title based on the SEO
26
+ - Credit card page responsiveness
27
+ - Change for the store title based on the SEO
17
28
 
18
29
  ### Added
19
30
 
20
- - Standardization the sidebar menu throughout the navigation of the Organizational Account, regardless of the context.
31
+ - Standardization the sidebar menu throughout the navigation of the Organizational Account, regardless of the context.
21
32
 
22
33
  ### Fixed
23
34
 
24
- - Fix geoCordinate to be geoCoordinates
25
- - Adjusts in Credit Card's experience
26
- - Create a custom dropdown for Buying Policy criteria
35
+ - Fix geoCordinate to be geoCoordinates
36
+ - Adjusts in Credit Card's experience
37
+ - Create a custom dropdown for Buying Policy criteria
27
38
 
28
39
  ### Added
29
40
 
30
- - Send credentials
41
+ - Send credentials
31
42
 
32
43
  ### Added
33
44
 
34
- - Roles and Role Details Screen
35
- - Role Integration on Users
36
- - Setup lint
37
- - Add default values for Credit Cards
45
+ - Roles and Role Details Screen
46
+ - Role Integration on Users
47
+ - Setup lint
48
+ - Add default values for Credit Cards
38
49
 
39
50
  ### changed
40
51
 
41
- - BFF API URLs
52
+ - BFF API URLs
42
53
 
43
54
  ### added
44
55
 
45
- - Address Recipients Add & Delete Feature
46
- - Address Recipients Edit Feature
47
- - Add Buying Policy integration with BFF
48
- - Add default values for Address
56
+ - Address Recipients Add & Delete Feature
57
+ - Address Recipients Edit Feature
58
+ - Add Buying Policy integration with BFF
59
+ - Add default values for Address
49
60
 
50
61
  ### Fixed
51
62
 
52
- - UserData accepts undefined e-mail
53
- - Fix styles
54
- - Fix Address Recipients bff path
63
+ - UserData accepts undefined e-mail
64
+ - Fix styles
65
+ - Fix Address Recipients bff path
55
66
 
56
67
  ### Added
57
68
 
58
- - Add Buying Policies Page
59
- - Add Buying Policy Details Page
60
- - Add Buying Policy Drawers
61
- - Add Buying Policy Integrations
62
- - Add Pagination Tools
63
- - Add Address Pagination
69
+ - Add Buying Policies Page
70
+ - Add Buying Policy Details Page
71
+ - Add Buying Policy Drawers
72
+ - Add Buying Policy Integrations
73
+ - Add Pagination Tools
74
+ - Add Address Pagination
64
75
 
65
76
  ### Added
66
77
 
67
- - Add CHANGELOG file
68
- - Add README file
78
+ - Add CHANGELOG file
79
+ - Add README file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vtex/faststore-plugin-buyer-portal",
3
- "version": "1.1.87",
3
+ "version": "1.1.88",
4
4
  "description": "A plugin for faststore with buyer portal",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -9,10 +9,17 @@ import {
9
9
  } from "../../../shared/components";
10
10
  import { useBuyerPortal } from "../../../shared/hooks";
11
11
  import { maskPostalCode } from "../../../shared/utils/postalCode";
12
- import { CountryOptions } from "../../data/countries";
13
- import { states as StateOptions } from "../../data/states";
12
+ import { CountryOptions, type CountryOption } from "../../data/countries";
14
13
  import { useDebouncedSearchAddress } from "../../hooks/useDebouncedSearchAddress";
15
14
  import { AddressData, AddressInput } from "../../types";
15
+ import {
16
+ getStateDisplayValue,
17
+ getStateSaveValue,
18
+ isStateSelected,
19
+ getStateDisplayOptions,
20
+ findStateByDisplayValue,
21
+ getStateDisplayFromCode,
22
+ } from "../../utils";
16
23
 
17
24
  export type AddressFormProps = {
18
25
  address: AddressInput;
@@ -42,7 +49,11 @@ export const AddressForm = ({
42
49
  }: AddressFormProps) => {
43
50
  const addressTypeOptions = ["Shipping", "Billing"];
44
51
  const { currentOrgUnit } = useBuyerPortal();
45
-
52
+ const [selectedState, setSelectedState] = useState(
53
+ address.state
54
+ ? getStateDisplayFromCode(address.countryCode || "", address.state)
55
+ : ""
56
+ );
46
57
  const [autoCompleteAddressName, setAutoCompleteAddressName] = useState("");
47
58
 
48
59
  const { searchedAddresses } = useDebouncedSearchAddress(
@@ -66,6 +77,16 @@ export const AddressForm = ({
66
77
 
67
78
  const hideLabel = isEdit || fixedType;
68
79
 
80
+ const handleCountrySelect = (option: CountryOption) => {
81
+ setAddress({
82
+ ...address,
83
+ country: option.name,
84
+ countryCode: option.id,
85
+ state: "",
86
+ });
87
+ setSelectedState("");
88
+ };
89
+
69
90
  return (
70
91
  <>
71
92
  {!useExistingAddress ? (
@@ -79,26 +100,18 @@ export const AddressForm = ({
79
100
  value={address.country}
80
101
  options={CountryOptions}
81
102
  shouldCloseOnSelect
82
- onConfirmKeyPress={(option) =>
83
- setAddress({
84
- ...address,
85
- country: option.name,
86
- countryCode: option.id,
87
- })
88
- }
103
+ onConfirmKeyPress={(option) => {
104
+ handleCountrySelect(option);
105
+ }}
89
106
  renderOption={(option, index) => (
90
107
  <AutocompleteDropdown.Item
91
108
  key={option.id}
92
109
  closeOnClick
93
110
  index={index}
94
111
  isSelected={address.country === option.name}
95
- onClick={() =>
96
- setAddress({
97
- ...address,
98
- country: option.name,
99
- countryCode: option.id,
100
- })
101
- }
112
+ onClick={() => {
113
+ handleCountrySelect(option);
114
+ }}
102
115
  >
103
116
  {option?.name}
104
117
  {address.country === option?.name && (
@@ -218,32 +231,50 @@ export const AddressForm = ({
218
231
  data-fs-bp-create-address-state-selector
219
232
  label="State"
220
233
  className="address-state"
221
- value={address.state}
222
- options={
223
- address.countryCode ? StateOptions[address.countryCode] : []
224
- }
234
+ value={selectedState}
235
+ options={getStateDisplayOptions(address.countryCode || "")}
225
236
  shouldCloseOnSelect
226
- onConfirmKeyPress={(option) =>
227
- setAddress({ ...address, state: option })
228
- }
237
+ onConfirmKeyPress={(option) => {
238
+ const stateData = findStateByDisplayValue(
239
+ address.countryCode || "",
240
+ option
241
+ );
242
+ if (stateData) {
243
+ setSelectedState(option);
244
+ setAddress({ ...address, state: getStateSaveValue(stateData) });
245
+ }
246
+ }}
229
247
  disabled={!address.countryCode}
230
- renderOption={(option, index) => (
231
- <AutocompleteDropdown.Item
232
- key={`${option}-${index}`}
233
- closeOnClick
234
- index={index}
235
- isSelected={
236
- address.state.toLocaleLowerCase() ===
237
- option.toLocaleLowerCase()
238
- }
239
- onClick={() => setAddress({ ...address, state: option })}
240
- >
241
- {option}
242
- {address.state.toLowerCase() === option.toLocaleLowerCase() && (
243
- <Icon name="Check" width={12} height={12} />
244
- )}
245
- </AutocompleteDropdown.Item>
246
- )}
248
+ renderOption={(option, index) => {
249
+ const stateData = findStateByDisplayValue(
250
+ address.countryCode || "",
251
+ option
252
+ );
253
+ const isSelected = stateData
254
+ ? isStateSelected(address.state, stateData)
255
+ : false;
256
+
257
+ return (
258
+ <AutocompleteDropdown.Item
259
+ key={`${option}-${index}`}
260
+ closeOnClick
261
+ index={index}
262
+ isSelected={isSelected}
263
+ onClick={() => {
264
+ if (stateData) {
265
+ setSelectedState(getStateDisplayValue(stateData));
266
+ setAddress({
267
+ ...address,
268
+ state: getStateSaveValue(stateData),
269
+ });
270
+ }
271
+ }}
272
+ >
273
+ {option}
274
+ {isSelected && <Icon name="Check" width={12} height={12} />}
275
+ </AutocompleteDropdown.Item>
276
+ );
277
+ }}
247
278
  />
248
279
 
249
280
  <InputText
@@ -1,65 +1,70 @@
1
- export const states = [
2
- "Alabama",
3
- "Alaska",
4
- "American Samoa",
5
- "Arizona",
6
- "Arkansas",
7
- "Armed Forces Americas",
8
- "Armed Forces Europe, the Middle East, and Canada",
9
- "Armed Forces Pacific",
10
- "California",
11
- "Colorado",
12
- "Connecticut",
13
- "Delaware",
14
- "District Of Columbia (Washington, D.C.)",
15
- "Federated States of Micronesia",
16
- "Florida",
17
- "Georgia",
18
- "Guam",
19
- "Hawaii",
20
- "Idaho",
21
- "Illinois",
22
- "Indiana",
23
- "Iowa",
24
- "Kansas",
25
- "Kentucky",
26
- "Louisiana",
27
- "Maine",
28
- "Marshall Islands",
29
- "Maryland",
30
- "Massachusetts",
31
- "Michigan",
32
- "Minnesota",
33
- "Mississippi",
34
- "Missouri",
35
- "Montana",
36
- "Nebraska",
37
- "Nevada",
38
- "New Hampshire",
39
- "New Jersey",
40
- "New Mexico",
41
- "New York",
42
- "North Carolina",
43
- "North Dakota",
44
- "Northern Mariana Islands",
45
- "Ohio",
46
- "Oklahoma",
47
- "Oregon",
48
- "Palau",
49
- "Pennsylvania",
50
- "Puerto Rico",
51
- "Rhode Island",
52
- "South Carolina",
53
- "South Dakota",
54
- "Tennessee",
55
- "Texas",
56
- "U.S. Minor Outlying Islands",
57
- "U.S. Virgin Islands",
58
- "Utah",
59
- "Vermont",
60
- "Virginia",
61
- "Washington",
62
- "West Virginia",
63
- "Wisconsin",
64
- "Wyoming",
1
+ export type StateOption = {
2
+ code: string;
3
+ name: string;
4
+ };
5
+
6
+ export const states: StateOption[] = [
7
+ { code: "AL", name: "Alabama" },
8
+ { code: "AK", name: "Alaska" },
9
+ { code: "AS", name: "American Samoa" },
10
+ { code: "AZ", name: "Arizona" },
11
+ { code: "AR", name: "Arkansas" },
12
+ { code: "AA", name: "Armed Forces Americas" },
13
+ { code: "AE", name: "Armed Forces Europe, the Middle East, and Canada" },
14
+ { code: "AP", name: "Armed Forces Pacific" },
15
+ { code: "CA", name: "California" },
16
+ { code: "CO", name: "Colorado" },
17
+ { code: "CT", name: "Connecticut" },
18
+ { code: "DE", name: "Delaware" },
19
+ { code: "DC", name: "District Of Columbia (Washington, D.C.)" },
20
+ { code: "FM", name: "Federated States of Micronesia" },
21
+ { code: "FL", name: "Florida" },
22
+ { code: "GA", name: "Georgia" },
23
+ { code: "GU", name: "Guam" },
24
+ { code: "HI", name: "Hawaii" },
25
+ { code: "ID", name: "Idaho" },
26
+ { code: "IL", name: "Illinois" },
27
+ { code: "IN", name: "Indiana" },
28
+ { code: "IA", name: "Iowa" },
29
+ { code: "KS", name: "Kansas" },
30
+ { code: "KY", name: "Kentucky" },
31
+ { code: "LA", name: "Louisiana" },
32
+ { code: "ME", name: "Maine" },
33
+ { code: "MH", name: "Marshall Islands" },
34
+ { code: "MD", name: "Maryland" },
35
+ { code: "MA", name: "Massachusetts" },
36
+ { code: "MI", name: "Michigan" },
37
+ { code: "MN", name: "Minnesota" },
38
+ { code: "MS", name: "Mississippi" },
39
+ { code: "MO", name: "Missouri" },
40
+ { code: "MT", name: "Montana" },
41
+ { code: "NE", name: "Nebraska" },
42
+ { code: "NV", name: "Nevada" },
43
+ { code: "NH", name: "New Hampshire" },
44
+ { code: "NJ", name: "New Jersey" },
45
+ { code: "NM", name: "New Mexico" },
46
+ { code: "NY", name: "New York" },
47
+ { code: "NC", name: "North Carolina" },
48
+ { code: "ND", name: "North Dakota" },
49
+ { code: "MP", name: "Northern Mariana Islands" },
50
+ { code: "OH", name: "Ohio" },
51
+ { code: "OK", name: "Oklahoma" },
52
+ { code: "OR", name: "Oregon" },
53
+ { code: "PW", name: "Palau" },
54
+ { code: "PA", name: "Pennsylvania" },
55
+ { code: "PR", name: "Puerto Rico" },
56
+ { code: "RI", name: "Rhode Island" },
57
+ { code: "SC", name: "South Carolina" },
58
+ { code: "SD", name: "South Dakota" },
59
+ { code: "TN", name: "Tennessee" },
60
+ { code: "TX", name: "Texas" },
61
+ { code: "UM", name: "U.S. Minor Outlying Islands" },
62
+ { code: "VI", name: "U.S. Virgin Islands" },
63
+ { code: "UT", name: "Utah" },
64
+ { code: "VT", name: "Vermont" },
65
+ { code: "VA", name: "Virginia" },
66
+ { code: "WA", name: "Washington" },
67
+ { code: "WV", name: "West Virginia" },
68
+ { code: "WI", name: "Wisconsin" },
69
+ { code: "WY", name: "Wyoming" },
65
70
  ];
@@ -1,4 +1,9 @@
1
- export const CountryOptions = [
1
+ export type CountryOption = {
2
+ id: string;
3
+ name: string;
4
+ };
5
+
6
+ export const CountryOptions: CountryOption[] = [
2
7
  { id: "BRA", name: "Brazil" },
3
8
  { id: "USA", name: "United States of America" },
4
9
  { id: "CAN", name: "Canada" },
@@ -1,9 +1,11 @@
1
1
  import { states as BRAStates } from "./BRA";
2
2
  import { states as CANStates } from "./CAN";
3
3
  import { states as MEXStates } from "./MEX";
4
- import { states as USAStates } from "./USA";
4
+ import { states as USAStates, StateOption } from "./USA";
5
5
 
6
- export const states: Record<string, string[]> = {
6
+ export type StateData = string | StateOption;
7
+
8
+ export const states: Record<string, StateData[]> = {
7
9
  MEX: MEXStates,
8
10
  BRA: BRAStates,
9
11
  USA: USAStates,
@@ -22,6 +22,7 @@ import {
22
22
  } from "../../components";
23
23
  import { AddressLocationsList } from "../../components/AddressLocationsList/AddressLocationsList";
24
24
  import { AddressRecipientsList } from "../../components/AddressRecipientsList/AddressRecipientsList";
25
+ import { getStateDisplayFromCode } from "../../utils";
25
26
 
26
27
  import type { AddressLocationsListRef } from "../../components/AddressLocationsList/AddressLocationsList";
27
28
  import type { AddressRecipientsListRef } from "../../components/AddressRecipientsList/AddressRecipientsList";
@@ -154,6 +155,14 @@ export const AddressDetailsLayout = ({
154
155
  {props
155
156
  .filter((prop) => addressData[prop])
156
157
  .map((prop, index) => {
158
+ const displayValue =
159
+ prop === "state"
160
+ ? getStateDisplayFromCode(
161
+ addressData.country || "",
162
+ addressData[prop] as string
163
+ )
164
+ : addressData[prop];
165
+
157
166
  return (
158
167
  <div
159
168
  key={prop}
@@ -164,7 +173,7 @@ export const AddressDetailsLayout = ({
164
173
  {addressLabelToPropMapping[prop]}
165
174
  </span>
166
175
  <span data-fs-address-details-info-line-value>
167
- {addressData[prop]}
176
+ {displayValue}
168
177
  </span>
169
178
  </div>
170
179
  );
@@ -0,0 +1 @@
1
+ export * from "./stateUtils";
@@ -0,0 +1,63 @@
1
+ import { states as StateOptions, StateData } from "../data/states";
2
+ import { StateOption } from "../data/USA";
3
+
4
+ export const getStateDisplayValue = (stateData: StateData): string => {
5
+ return typeof stateData === "string" ? stateData : stateData.name;
6
+ };
7
+
8
+ export const getStateSaveValue = (stateData: StateData): string => {
9
+ return typeof stateData === "string" ? stateData : stateData.code;
10
+ };
11
+
12
+ export const isStateSelected = (
13
+ currentState: string,
14
+ stateData: StateData
15
+ ): boolean => {
16
+ const saveValue = getStateSaveValue(stateData);
17
+ return currentState.toLowerCase() === saveValue.toLowerCase();
18
+ };
19
+
20
+ export const getStateDisplayOptions = (countryCode: string): string[] => {
21
+ if (!countryCode || !StateOptions[countryCode]) {
22
+ return [];
23
+ }
24
+ return StateOptions[countryCode].map(getStateDisplayValue);
25
+ };
26
+
27
+ export const getStateOptions = (countryCode: string): StateData[] => {
28
+ if (!countryCode || !StateOptions[countryCode]) {
29
+ return [];
30
+ }
31
+ return StateOptions[countryCode];
32
+ };
33
+
34
+ export const findStateByDisplayValue = (
35
+ countryCode: string,
36
+ displayValue: string
37
+ ): StateData | undefined => {
38
+ const stateOptions = getStateOptions(countryCode);
39
+ return stateOptions.find(
40
+ (state) => getStateDisplayValue(state) === displayValue
41
+ );
42
+ };
43
+
44
+ export const getStateDisplayFromCode = (
45
+ countryCode: string,
46
+ stateCode: string
47
+ ): string => {
48
+ if (!countryCode || !stateCode || !StateOptions[countryCode]) {
49
+ return stateCode;
50
+ }
51
+
52
+ const stateOptions = StateOptions[countryCode];
53
+
54
+ if (countryCode === "USA") {
55
+ const stateOption = stateOptions.find((state) => {
56
+ const option = state as StateOption;
57
+ return option.code?.toLowerCase() === stateCode.toLowerCase();
58
+ });
59
+ return stateOption ? getStateDisplayValue(stateOption) : stateCode;
60
+ }
61
+
62
+ return stateCode;
63
+ };
@@ -12,10 +12,14 @@
12
12
  }
13
13
  [data-fs-bp-create-budget-drawer-row-section] {
14
14
  display: flex;
15
- flex-direction: row;
15
+ flex-direction: column;
16
16
  width: 100%;
17
- align-items: center;
18
- gap: var(--fs-spacing-3);
17
+
18
+ @include media(">=notebook") {
19
+ align-items: center;
20
+ flex-direction: row;
21
+ gap: var(--fs-spacing-3);
22
+ }
19
23
  }
20
24
 
21
25
  [data-fs-bp-create-budget-drawer-data-section] {
@@ -26,6 +30,8 @@
26
30
  [data-fs-bp-create-budget-renew] {
27
31
  margin-top: var(--fs-spacing-4);
28
32
  justify-content: space-between;
33
+ flex-direction: row;
34
+
29
35
  [data-fs-bp-create-budget-renew-label] {
30
36
  font-weight: var(--fs-text-weight-regular);
31
37
  font-size: var(--fs-text-size-1);
@@ -116,7 +116,7 @@
116
116
  [data-fs-table-row="true"] {
117
117
  [data-fs-table-cell="header"] {
118
118
  height: var(--fs-spacing-6);
119
- padding: 0;
119
+ padding: 0 var(--fs-spacing-1);
120
120
 
121
121
  font-weight: var(--fs-text-weight-regular);
122
122
  color: #5c5c5c;
@@ -142,7 +142,7 @@
142
142
  font-weight: var(--fs-text-weight-medium);
143
143
  color: #1f1f1f;
144
144
  font-size: var(--fs-text-size-1);
145
- padding: 0;
145
+ padding: var(--fs-spacing-1);
146
146
 
147
147
  &:nth-child(1) {
148
148
  width: var(--fs-spacing-6);
@@ -70,6 +70,12 @@
70
70
  margin-bottom: var(--fs-spacing-4);
71
71
  justify-content: space-between;
72
72
  align-items: center;
73
+
74
+ @include media("<tablet") {
75
+ [data-fs-buyer-portal-internal-search] {
76
+ width: 100%;
77
+ }
78
+ }
73
79
  }
74
80
 
75
81
  [data-fs-bp-pagination-span] {
@@ -111,6 +117,10 @@
111
117
  font-size: var(--fs-text-size-1);
112
118
  padding: 0;
113
119
 
120
+ @include media("<tablet") {
121
+ padding: 0 var(--fs-spacing-1);
122
+ }
123
+
114
124
  [data-fs-icon] {
115
125
  display: inline-block;
116
126
 
@@ -145,6 +155,20 @@
145
155
  }
146
156
  }
147
157
 
158
+ [data-fs-table-cell] {
159
+ @include media("<tablet") {
160
+ display: none;
161
+
162
+ &:first-child {
163
+ display: flex;
164
+ }
165
+
166
+ &:last-child {
167
+ display: table-cell;
168
+ }
169
+ }
170
+ }
171
+
148
172
  [data-fs-skeleton] {
149
173
  display: inline-block;
150
174
  }
@@ -154,5 +178,10 @@
154
178
  width: 32rem;
155
179
  text-align: center;
156
180
  margin: 0 auto;
181
+
182
+ @include media("<tablet") {
183
+ width: 100%;
184
+ padding: var(--fs-spacing-4);
185
+ }
157
186
  }
158
187
  }
@@ -4,6 +4,19 @@
4
4
  @import "../../../shared/components/InputText/input-text.scss";
5
5
  @import "../../../shared/components/ErrorMessage/error-message.scss";
6
6
 
7
+ &[data-fs-bp-basic-drawer][data-fs-slide-over-size="partial"] {
8
+ width: 100%;
9
+ max-width: none;
10
+
11
+ @include media(">=tablet") {
12
+ max-width: 30rem;
13
+ }
14
+
15
+ @include media(">=notebook") {
16
+ max-width: 40rem;
17
+ }
18
+ }
19
+
7
20
  [data-fs-bp-basic-drawer-body] {
8
21
  overflow-y: auto;
9
22
  }
@@ -25,8 +25,12 @@ export const BudgetRemainingBalance = ({
25
25
  of {formatCurrency(remaining)} used
26
26
  </span>
27
27
  </span>
28
+ <BudgetProgressBar
29
+ remaining={remaining}
30
+ total={total}
31
+ fullWidth={true}
32
+ />
28
33
  </div>
29
- <BudgetProgressBar remaining={remaining} total={total} fullWidth={true} />
30
34
  </div>
31
35
  );
32
36
  };