@simpleapps-com/augur-utils 0.2.5 → 0.2.7
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.
- package/dist/index.cjs +7 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +18 -1
- package/dist/index.d.ts +18 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -40,7 +40,13 @@ function formatPrice(price, locale = "en-US", currency = "USD") {
|
|
|
40
40
|
}).format(price);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
// src/address-comparison.ts
|
|
44
|
+
function isAddressDifferent(userAddress, smartyAddress) {
|
|
45
|
+
return smartyAddress.deliveryLine1.toLowerCase() !== userAddress.address1.toLowerCase() || smartyAddress.cityName.toLowerCase() !== userAddress.city.toLowerCase() || smartyAddress.stateAbbreviation !== userAddress.state || smartyAddress.zipCode !== userAddress.postalCode;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
|
|
43
49
|
|
|
44
50
|
|
|
45
|
-
exports.CACHE_CONFIG = CACHE_CONFIG; exports.formatPrice = formatPrice;
|
|
51
|
+
exports.CACHE_CONFIG = CACHE_CONFIG; exports.formatPrice = formatPrice; exports.isAddressDifferent = isAddressDifferent;
|
|
46
52
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-utils/dist/index.cjs","../src/cache-config.ts","../src/format-price.ts"],"names":[],"mappings":"AAAA;ACkBO,IAAM,aAAA,EAAe;AAAA,EAC1B,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,EAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK,GAAA,EAAK;AAAA;AAAA,EAC3B,CAAA;AAAA,EACA,WAAA,EAAa;AAAA,IACX,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,EAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK,GAAA,EAAK;AAAA;AAAA,EAC3B,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,CAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK;AAAA;AAAA,EACtB,CAAA;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,CAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK;AAAA;AAAA,EACtB,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EAAW,CAAA;AAAA,IACX,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK;AAAA;AAAA,EACtB;AACF,CAAA;ADPA;AACA;AE7BO,SAAS,WAAA,CACd,KAAA,EACA,OAAA,EAAiB,OAAA,EACjB,SAAA,EAAmB,KAAA,EACX;AACR,EAAA,OAAO,IAAI,IAAA,CAAK,YAAA,CAAa,MAAA,EAAQ;AAAA,IACnC,KAAA,EAAO,UAAA;AAAA,IACP,QAAA;AAAA,IACA,qBAAA,EAAuB;AAAA,EACzB,CAAC,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA;AACjB;AF2BA;AACE;AACA;AACF,
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/augur-packages/augur-packages/packages/augur-utils/dist/index.cjs","../src/cache-config.ts","../src/format-price.ts","../src/address-comparison.ts"],"names":[],"mappings":"AAAA;ACkBO,IAAM,aAAA,EAAe;AAAA,EAC1B,MAAA,EAAQ;AAAA,IACN,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,EAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK,GAAA,EAAK;AAAA;AAAA,EAC3B,CAAA;AAAA,EACA,WAAA,EAAa;AAAA,IACX,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,EAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK,GAAA,EAAK;AAAA;AAAA,EAC3B,CAAA;AAAA,EACA,OAAA,EAAS;AAAA,IACP,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,CAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK;AAAA;AAAA,EACtB,CAAA;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,SAAA,EAAW,IAAA,EAAO,GAAA,EAAK,CAAA;AAAA;AAAA,IACvB,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK;AAAA;AAAA,EACtB,CAAA;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EAAW,CAAA;AAAA,IACX,MAAA,EAAQ,IAAA,EAAO,GAAA,EAAK;AAAA;AAAA,EACtB;AACF,CAAA;ADPA;AACA;AE7BO,SAAS,WAAA,CACd,KAAA,EACA,OAAA,EAAiB,OAAA,EACjB,SAAA,EAAmB,KAAA,EACX;AACR,EAAA,OAAO,IAAI,IAAA,CAAK,YAAA,CAAa,MAAA,EAAQ;AAAA,IACnC,KAAA,EAAO,UAAA;AAAA,IACP,QAAA;AAAA,IACA,qBAAA,EAAuB;AAAA,EACzB,CAAC,CAAA,CAAE,MAAA,CAAO,KAAK,CAAA;AACjB;AF2BA;AACA;AGxBO,SAAS,kBAAA,CACd,WAAA,EACA,aAAA,EACS;AACT,EAAA,OACE,aAAA,CAAc,aAAA,CAAc,WAAA,CAAY,EAAA,IAAM,WAAA,CAAY,QAAA,CAAS,WAAA,CAAY,EAAA,GAC/E,aAAA,CAAc,QAAA,CAAS,WAAA,CAAY,EAAA,IAAM,WAAA,CAAY,IAAA,CAAK,WAAA,CAAY,EAAA,GACtE,aAAA,CAAc,kBAAA,IAAsB,WAAA,CAAY,MAAA,GAChD,aAAA,CAAc,QAAA,IAAY,WAAA,CAAY,UAAA;AAE1C;AHkBA;AACE;AACA;AACA;AACF,wHAAC","file":"/home/runner/work/augur-packages/augur-packages/packages/augur-utils/dist/index.cjs","sourcesContent":[null,"/**\n * Centralized cache configuration for React Query (TanStack Query)\n *\n * staleTime -- How long cached data is considered \"fresh\". While fresh,\n * React Query serves the cache instantly and does NOT refetch in the\n * background. After staleTime expires the data is \"stale\" and will be\n * refetched on the next access (mount, window focus, etc.).\n *\n * gcTime (garbage collection time) -- How long UNUSED cached data stays in\n * memory after all components using it unmount. Once gcTime expires the\n * cache entry is deleted entirely.\n *\n * STATIC (1h): categories, menus, item details\n * SEMI_STATIC (10m): pricing, stock, search results\n * DYNAMIC (5m): infinite scroll data\n * CART (2m): cart lines, cart header\n * REALTIME (0): active orders, checkout state\n */\nexport const CACHE_CONFIG = {\n STATIC: {\n staleTime: 1000 * 60 * 60, // 1 hour\n gcTime: 1000 * 60 * 60 * 24, // 24 hours\n },\n SEMI_STATIC: {\n staleTime: 1000 * 60 * 10, // 10 minutes\n gcTime: 1000 * 60 * 60 * 4, // 4 hours\n },\n DYNAMIC: {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 30, // 30 minutes\n },\n CART: {\n staleTime: 1000 * 60 * 2, // 2 minutes\n gcTime: 1000 * 60 * 30, // 30 minutes\n },\n REALTIME: {\n staleTime: 0,\n gcTime: 1000 * 60 * 5, // 5 minutes\n },\n} as const;\n\nexport type CacheTier = keyof typeof CACHE_CONFIG;\n","/**\n * Locale-aware currency formatting.\n * Defaults to USD -- consumers can override locale and currency.\n */\nexport function formatPrice(\n price: number,\n locale: string = \"en-US\",\n currency: string = \"USD\",\n): string {\n return new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency,\n minimumFractionDigits: 2,\n }).format(price);\n}\n","import type { TSmartyStreets } from \"./types/smarty-streets\";\n\n/** User-entered address fields for comparison. */\nexport interface UserAddress {\n address1: string;\n city: string;\n state: string;\n postalCode: string;\n}\n\n/**\n * Compares a user-entered address with a SmartyStreets-validated address.\n * Returns true if any field differs (case-insensitive for address/city,\n * exact match for state abbreviation and zip code).\n *\n * Used in checkout to prompt users when their input differs from the\n * USPS-validated address.\n */\nexport function isAddressDifferent(\n userAddress: UserAddress,\n smartyAddress: TSmartyStreets,\n): boolean {\n return (\n smartyAddress.deliveryLine1.toLowerCase() !== userAddress.address1.toLowerCase() ||\n smartyAddress.cityName.toLowerCase() !== userAddress.city.toLowerCase() ||\n smartyAddress.stateAbbreviation !== userAddress.state ||\n smartyAddress.zipCode !== userAddress.postalCode\n );\n}\n"]}
|
package/dist/index.d.cts
CHANGED
|
@@ -801,4 +801,21 @@ type CacheTier = keyof typeof CACHE_CONFIG;
|
|
|
801
801
|
*/
|
|
802
802
|
declare function formatPrice(price: number, locale?: string, currency?: string): string;
|
|
803
803
|
|
|
804
|
-
|
|
804
|
+
/** User-entered address fields for comparison. */
|
|
805
|
+
interface UserAddress {
|
|
806
|
+
address1: string;
|
|
807
|
+
city: string;
|
|
808
|
+
state: string;
|
|
809
|
+
postalCode: string;
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* Compares a user-entered address with a SmartyStreets-validated address.
|
|
813
|
+
* Returns true if any field differs (case-insensitive for address/city,
|
|
814
|
+
* exact match for state abbreviation and zip code).
|
|
815
|
+
*
|
|
816
|
+
* Used in checkout to prompt users when their input differs from the
|
|
817
|
+
* USPS-validated address.
|
|
818
|
+
*/
|
|
819
|
+
declare function isAddressDifferent(userAddress: UserAddress, smartyAddress: TSmartyStreets): boolean;
|
|
820
|
+
|
|
821
|
+
export { CACHE_CONFIG, type CacheTier, type CustomerDocument, type MenuItem, type OrderHeader, type OrderLine, type OrderNote, type OrderPayment, type TApiResponse, type TAttribute, type TAttributeValue, type TCartHdrUid, type TCartLine, type TCartLookUp, type TCategory, type TCategoryChild, type TInvMast, type TInvMastDoc, type TInventorySupplier, type TItemAccessory, type TItemAttribute, type TItemAttributes, type TItemCategory, type TItemDetails, type TItemRelatedProduct, type TItemUom, type TItemsFilters, type TJoomlaContent, type TJoomlaContentFilters, type TLibraryPriceBreak, type TLibraryPriceData, type TLtlRatesResponse, type TLtlShipmentData, type TMenu, type TMetaTags, type TOrderCartLine, type TPriceData, type TProductCategory, type TProductItem, type TProductStockData, type TProfileValues, type TRelatedProduct, type TSearchSuggestion, type TSearchSuggestionsResponse, type TShippingMethod, type TSmartyStreets, type TStock, type TStockData, type TTax, type TTaxItem, type TUserProfile, type TWebDesc, type UserAddress, formatPrice, isAddressDifferent };
|
package/dist/index.d.ts
CHANGED
|
@@ -801,4 +801,21 @@ type CacheTier = keyof typeof CACHE_CONFIG;
|
|
|
801
801
|
*/
|
|
802
802
|
declare function formatPrice(price: number, locale?: string, currency?: string): string;
|
|
803
803
|
|
|
804
|
-
|
|
804
|
+
/** User-entered address fields for comparison. */
|
|
805
|
+
interface UserAddress {
|
|
806
|
+
address1: string;
|
|
807
|
+
city: string;
|
|
808
|
+
state: string;
|
|
809
|
+
postalCode: string;
|
|
810
|
+
}
|
|
811
|
+
/**
|
|
812
|
+
* Compares a user-entered address with a SmartyStreets-validated address.
|
|
813
|
+
* Returns true if any field differs (case-insensitive for address/city,
|
|
814
|
+
* exact match for state abbreviation and zip code).
|
|
815
|
+
*
|
|
816
|
+
* Used in checkout to prompt users when their input differs from the
|
|
817
|
+
* USPS-validated address.
|
|
818
|
+
*/
|
|
819
|
+
declare function isAddressDifferent(userAddress: UserAddress, smartyAddress: TSmartyStreets): boolean;
|
|
820
|
+
|
|
821
|
+
export { CACHE_CONFIG, type CacheTier, type CustomerDocument, type MenuItem, type OrderHeader, type OrderLine, type OrderNote, type OrderPayment, type TApiResponse, type TAttribute, type TAttributeValue, type TCartHdrUid, type TCartLine, type TCartLookUp, type TCategory, type TCategoryChild, type TInvMast, type TInvMastDoc, type TInventorySupplier, type TItemAccessory, type TItemAttribute, type TItemAttributes, type TItemCategory, type TItemDetails, type TItemRelatedProduct, type TItemUom, type TItemsFilters, type TJoomlaContent, type TJoomlaContentFilters, type TLibraryPriceBreak, type TLibraryPriceData, type TLtlRatesResponse, type TLtlShipmentData, type TMenu, type TMetaTags, type TOrderCartLine, type TPriceData, type TProductCategory, type TProductItem, type TProductStockData, type TProfileValues, type TRelatedProduct, type TSearchSuggestion, type TSearchSuggestionsResponse, type TShippingMethod, type TSmartyStreets, type TStock, type TStockData, type TTax, type TTaxItem, type TUserProfile, type TWebDesc, type UserAddress, formatPrice, isAddressDifferent };
|
package/dist/index.js
CHANGED
|
@@ -39,8 +39,14 @@ function formatPrice(price, locale = "en-US", currency = "USD") {
|
|
|
39
39
|
minimumFractionDigits: 2
|
|
40
40
|
}).format(price);
|
|
41
41
|
}
|
|
42
|
+
|
|
43
|
+
// src/address-comparison.ts
|
|
44
|
+
function isAddressDifferent(userAddress, smartyAddress) {
|
|
45
|
+
return smartyAddress.deliveryLine1.toLowerCase() !== userAddress.address1.toLowerCase() || smartyAddress.cityName.toLowerCase() !== userAddress.city.toLowerCase() || smartyAddress.stateAbbreviation !== userAddress.state || smartyAddress.zipCode !== userAddress.postalCode;
|
|
46
|
+
}
|
|
42
47
|
export {
|
|
43
48
|
CACHE_CONFIG,
|
|
44
|
-
formatPrice
|
|
49
|
+
formatPrice,
|
|
50
|
+
isAddressDifferent
|
|
45
51
|
};
|
|
46
52
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/cache-config.ts","../src/format-price.ts"],"sourcesContent":["/**\n * Centralized cache configuration for React Query (TanStack Query)\n *\n * staleTime -- How long cached data is considered \"fresh\". While fresh,\n * React Query serves the cache instantly and does NOT refetch in the\n * background. After staleTime expires the data is \"stale\" and will be\n * refetched on the next access (mount, window focus, etc.).\n *\n * gcTime (garbage collection time) -- How long UNUSED cached data stays in\n * memory after all components using it unmount. Once gcTime expires the\n * cache entry is deleted entirely.\n *\n * STATIC (1h): categories, menus, item details\n * SEMI_STATIC (10m): pricing, stock, search results\n * DYNAMIC (5m): infinite scroll data\n * CART (2m): cart lines, cart header\n * REALTIME (0): active orders, checkout state\n */\nexport const CACHE_CONFIG = {\n STATIC: {\n staleTime: 1000 * 60 * 60, // 1 hour\n gcTime: 1000 * 60 * 60 * 24, // 24 hours\n },\n SEMI_STATIC: {\n staleTime: 1000 * 60 * 10, // 10 minutes\n gcTime: 1000 * 60 * 60 * 4, // 4 hours\n },\n DYNAMIC: {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 30, // 30 minutes\n },\n CART: {\n staleTime: 1000 * 60 * 2, // 2 minutes\n gcTime: 1000 * 60 * 30, // 30 minutes\n },\n REALTIME: {\n staleTime: 0,\n gcTime: 1000 * 60 * 5, // 5 minutes\n },\n} as const;\n\nexport type CacheTier = keyof typeof CACHE_CONFIG;\n","/**\n * Locale-aware currency formatting.\n * Defaults to USD -- consumers can override locale and currency.\n */\nexport function formatPrice(\n price: number,\n locale: string = \"en-US\",\n currency: string = \"USD\",\n): string {\n return new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency,\n minimumFractionDigits: 2,\n }).format(price);\n}\n"],"mappings":";AAkBO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,IACN,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK,KAAK;AAAA;AAAA,EAC3B;AAAA,EACA,aAAa;AAAA,IACX,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK,KAAK;AAAA;AAAA,EAC3B;AAAA,EACA,SAAS;AAAA,IACP,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK;AAAA;AAAA,EACtB;AAAA,EACA,MAAM;AAAA,IACJ,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK;AAAA;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AAAA,IACX,QAAQ,MAAO,KAAK;AAAA;AAAA,EACtB;AACF;;;ACnCO,SAAS,YACd,OACA,SAAiB,SACjB,WAAmB,OACX;AACR,SAAO,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnC,OAAO;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,EACzB,CAAC,EAAE,OAAO,KAAK;AACjB;","names":[]}
|
|
1
|
+
{"version":3,"sources":["../src/cache-config.ts","../src/format-price.ts","../src/address-comparison.ts"],"sourcesContent":["/**\n * Centralized cache configuration for React Query (TanStack Query)\n *\n * staleTime -- How long cached data is considered \"fresh\". While fresh,\n * React Query serves the cache instantly and does NOT refetch in the\n * background. After staleTime expires the data is \"stale\" and will be\n * refetched on the next access (mount, window focus, etc.).\n *\n * gcTime (garbage collection time) -- How long UNUSED cached data stays in\n * memory after all components using it unmount. Once gcTime expires the\n * cache entry is deleted entirely.\n *\n * STATIC (1h): categories, menus, item details\n * SEMI_STATIC (10m): pricing, stock, search results\n * DYNAMIC (5m): infinite scroll data\n * CART (2m): cart lines, cart header\n * REALTIME (0): active orders, checkout state\n */\nexport const CACHE_CONFIG = {\n STATIC: {\n staleTime: 1000 * 60 * 60, // 1 hour\n gcTime: 1000 * 60 * 60 * 24, // 24 hours\n },\n SEMI_STATIC: {\n staleTime: 1000 * 60 * 10, // 10 minutes\n gcTime: 1000 * 60 * 60 * 4, // 4 hours\n },\n DYNAMIC: {\n staleTime: 1000 * 60 * 5, // 5 minutes\n gcTime: 1000 * 60 * 30, // 30 minutes\n },\n CART: {\n staleTime: 1000 * 60 * 2, // 2 minutes\n gcTime: 1000 * 60 * 30, // 30 minutes\n },\n REALTIME: {\n staleTime: 0,\n gcTime: 1000 * 60 * 5, // 5 minutes\n },\n} as const;\n\nexport type CacheTier = keyof typeof CACHE_CONFIG;\n","/**\n * Locale-aware currency formatting.\n * Defaults to USD -- consumers can override locale and currency.\n */\nexport function formatPrice(\n price: number,\n locale: string = \"en-US\",\n currency: string = \"USD\",\n): string {\n return new Intl.NumberFormat(locale, {\n style: \"currency\",\n currency,\n minimumFractionDigits: 2,\n }).format(price);\n}\n","import type { TSmartyStreets } from \"./types/smarty-streets\";\n\n/** User-entered address fields for comparison. */\nexport interface UserAddress {\n address1: string;\n city: string;\n state: string;\n postalCode: string;\n}\n\n/**\n * Compares a user-entered address with a SmartyStreets-validated address.\n * Returns true if any field differs (case-insensitive for address/city,\n * exact match for state abbreviation and zip code).\n *\n * Used in checkout to prompt users when their input differs from the\n * USPS-validated address.\n */\nexport function isAddressDifferent(\n userAddress: UserAddress,\n smartyAddress: TSmartyStreets,\n): boolean {\n return (\n smartyAddress.deliveryLine1.toLowerCase() !== userAddress.address1.toLowerCase() ||\n smartyAddress.cityName.toLowerCase() !== userAddress.city.toLowerCase() ||\n smartyAddress.stateAbbreviation !== userAddress.state ||\n smartyAddress.zipCode !== userAddress.postalCode\n );\n}\n"],"mappings":";AAkBO,IAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,IACN,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK,KAAK;AAAA;AAAA,EAC3B;AAAA,EACA,aAAa;AAAA,IACX,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK,KAAK;AAAA;AAAA,EAC3B;AAAA,EACA,SAAS;AAAA,IACP,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK;AAAA;AAAA,EACtB;AAAA,EACA,MAAM;AAAA,IACJ,WAAW,MAAO,KAAK;AAAA;AAAA,IACvB,QAAQ,MAAO,KAAK;AAAA;AAAA,EACtB;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AAAA,IACX,QAAQ,MAAO,KAAK;AAAA;AAAA,EACtB;AACF;;;ACnCO,SAAS,YACd,OACA,SAAiB,SACjB,WAAmB,OACX;AACR,SAAO,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnC,OAAO;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,EACzB,CAAC,EAAE,OAAO,KAAK;AACjB;;;ACIO,SAAS,mBACd,aACA,eACS;AACT,SACE,cAAc,cAAc,YAAY,MAAM,YAAY,SAAS,YAAY,KAC/E,cAAc,SAAS,YAAY,MAAM,YAAY,KAAK,YAAY,KACtE,cAAc,sBAAsB,YAAY,SAChD,cAAc,YAAY,YAAY;AAE1C;","names":[]}
|