@simonarcher/fika-types 1.1.6 → 1.2.1

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/shop.d.ts CHANGED
@@ -313,9 +313,18 @@ export interface ShopContactDetails {
313
313
  };
314
314
  updatedAt?: Date;
315
315
  }
316
- export type ShopFeatureKey = 'powerOutlets' | 'laptopFriendly' | 'outdoorSeating' | 'indoorSeating' | 'accessibility' | 'alcohol' | 'breakfast' | 'lunch' | 'vegetarian' | 'petFriendly' | 'restrooms' | 'parking' | 'wifi' | 'acceptsCash' | 'acceptsCreditCards' | 'acceptsNfc' | 'discountOnReusableCup' | 'glutenFree' | 'loyaltyCard' | 'takeaway' | 'delivery' | 'inHouseRoasting' | 'walkInOnly';
317
- export type ShopSpecialtyKey = 'pourOverSpecialty' | 'espressoExpert' | 'singleOriginFocus' | 'localRoaster' | 'brewingEducation' | 'cuppingEvents' | 'matchaSpecialty' | 'decafSpecialty' | 'inHouseRoastery' | 'relaxingVibes' | 'bustlingEnergy' | 'quietStudySpace' | 'uniqueExperience' | 'instagramWorthy' | 'cozyAmbiance' | 'freshPastries' | 'homemadeTreats' | 'artisanBread' | 'localBakery' | 'healthyOptions' | 'dessertDestination' | 'inHouseBakery' | 'signatureBakedGoods' | 'lgbtqFriendly' | 'womenOwned' | 'familyOwned' | 'communityHub' | 'sociallyConscious' | 'localArtSupport' | 'liveMusic' | 'localArt' | 'bookExchange' | 'boardGames' | 'culturalEvents' | 'workshopSpace' | 'laptopFriendlyPro' | 'meetingSpaceAvailable' | 'quietZones' | 'fastWifi' | 'longStayWelcome' | 'coworkingVibes';
318
- export type SpecialtyCategoryKey = 'Coffee Excellence' | 'Atmosphere' | 'Food & Treats' | 'Community & Values' | 'Entertainment' | 'Work & Study';
316
+ export type ShopFeatureKey = 'powerOutlets' | 'laptopFriendly' | 'outdoorSeating' | 'indoorSeating' | 'accessibility' | 'alcohol' | 'breakfast' | 'lunch' | 'vegetarian' | 'petFriendly' | 'kidFriendly' | 'restrooms' | 'parking' | 'wifi' | 'acceptsCash' | 'acceptsCreditCards' | 'acceptsNfc' | 'discountOnReusableCup' | 'glutenFree' | 'loyaltyCard' | 'takeaway' | 'delivery' | 'inHouseRoasting' | 'walkInOnly';
317
+ export type FeatureGroupKey = 'Space & Seating' | 'Work & Facilities' | 'Food & Drink' | 'Service' | 'Payment';
318
+ /** Maps each feature key to its display group. Single source of truth for admin and mobile. */
319
+ export declare const featureGroupMap: Record<ShopFeatureKey, FeatureGroupKey>;
320
+ /** Display labels for each feature key. Single source of truth for admin and mobile. */
321
+ export declare const featureLabelMap: Record<ShopFeatureKey, string>;
322
+ export type ShopSpecialtyKey = 'inHouseRoastery' | 'pourOverSpecialty' | 'espressoExpert' | 'singleOriginFocus' | 'rotatingRoasters' | 'tastingNotesOnMenu' | 'naturalFermentedFocus' | 'cuppingAndEducation' | 'cozyAmbiance' | 'bustlingEnergy' | 'espressoBarStanding' | 'vinylRecords' | 'uniqueExperience' | 'inHouseBakery' | 'freshPastries' | 'localBakeryPartner' | 'dessertDestination' | 'lgbtqFriendly' | 'womenOwned' | 'zeroWasteFocus' | 'communityHub' | 'laptopWelcome' | 'fastWifi' | 'longStayOk';
323
+ export type SpecialtyCategoryKey = 'Coffee' | 'Atmosphere' | 'Food & Treats' | 'Identity & Values' | 'Workspace';
324
+ /** Maps each specialty key to its category. Single source of truth for admin and mobile. */
325
+ export declare const specialtyCategoryMap: Record<ShopSpecialtyKey, SpecialtyCategoryKey>;
326
+ /** Display labels for each specialty key. Single source of truth for admin and mobile. */
327
+ export declare const specialtyLabelMap: Record<ShopSpecialtyKey, string>;
319
328
  export interface ShopSpecialties {
320
329
  highlighted: ShopSpecialtyKey[];
321
330
  additional: ShopSpecialtyKey[];
package/dist/shop.js CHANGED
@@ -1,2 +1,131 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.specialtyLabelMap = exports.specialtyCategoryMap = exports.featureLabelMap = exports.featureGroupMap = void 0;
4
+ /** Maps each feature key to its display group. Single source of truth for admin and mobile. */
5
+ exports.featureGroupMap = {
6
+ // Space & Seating
7
+ indoorSeating: 'Space & Seating',
8
+ outdoorSeating: 'Space & Seating',
9
+ petFriendly: 'Space & Seating',
10
+ kidFriendly: 'Space & Seating',
11
+ // Work & Facilities
12
+ wifi: 'Work & Facilities',
13
+ powerOutlets: 'Work & Facilities',
14
+ laptopFriendly: 'Work & Facilities',
15
+ restrooms: 'Work & Facilities',
16
+ parking: 'Work & Facilities',
17
+ accessibility: 'Work & Facilities',
18
+ // Food & Drink
19
+ breakfast: 'Food & Drink',
20
+ lunch: 'Food & Drink',
21
+ vegetarian: 'Food & Drink',
22
+ glutenFree: 'Food & Drink',
23
+ alcohol: 'Food & Drink',
24
+ // Service
25
+ takeaway: 'Service',
26
+ delivery: 'Service',
27
+ loyaltyCard: 'Service',
28
+ discountOnReusableCup: 'Service',
29
+ inHouseRoasting: 'Service',
30
+ walkInOnly: 'Service',
31
+ // Payment
32
+ acceptsCash: 'Payment',
33
+ acceptsCreditCards: 'Payment',
34
+ acceptsNfc: 'Payment',
35
+ };
36
+ /** Display labels for each feature key. Single source of truth for admin and mobile. */
37
+ exports.featureLabelMap = {
38
+ // Space & Seating
39
+ indoorSeating: 'Indoor Seating',
40
+ outdoorSeating: 'Outdoor Seating',
41
+ petFriendly: 'Pet Friendly',
42
+ kidFriendly: 'Kid Friendly',
43
+ // Work & Facilities
44
+ wifi: 'Free WiFi',
45
+ powerOutlets: 'Power Outlets',
46
+ laptopFriendly: 'Laptop Friendly',
47
+ restrooms: 'Restrooms',
48
+ parking: 'Parking',
49
+ accessibility: 'Wheelchair Accessible',
50
+ // Food & Drink
51
+ breakfast: 'Serves Breakfast',
52
+ lunch: 'Serves Lunch',
53
+ vegetarian: 'Vegetarian Options',
54
+ glutenFree: 'Gluten-Free Options',
55
+ alcohol: 'Serves Alcohol',
56
+ // Service
57
+ takeaway: 'Takeaway',
58
+ delivery: 'Delivery',
59
+ loyaltyCard: 'Loyalty Card',
60
+ discountOnReusableCup: 'Discount for Reusable Cup',
61
+ inHouseRoasting: 'In-House Roasting',
62
+ walkInOnly: 'Walk-In Only',
63
+ // Payment
64
+ acceptsCash: 'Cash Payments',
65
+ acceptsCreditCards: 'Card Payments',
66
+ acceptsNfc: 'Contactless / NFC',
67
+ };
68
+ /** Maps each specialty key to its category. Single source of truth for admin and mobile. */
69
+ exports.specialtyCategoryMap = {
70
+ // Coffee
71
+ inHouseRoastery: 'Coffee',
72
+ pourOverSpecialty: 'Coffee',
73
+ espressoExpert: 'Coffee',
74
+ singleOriginFocus: 'Coffee',
75
+ rotatingRoasters: 'Coffee',
76
+ tastingNotesOnMenu: 'Coffee',
77
+ naturalFermentedFocus: 'Coffee',
78
+ cuppingAndEducation: 'Coffee',
79
+ // Atmosphere
80
+ cozyAmbiance: 'Atmosphere',
81
+ bustlingEnergy: 'Atmosphere',
82
+ espressoBarStanding: 'Atmosphere',
83
+ vinylRecords: 'Atmosphere',
84
+ uniqueExperience: 'Atmosphere',
85
+ // Food & Treats
86
+ inHouseBakery: 'Food & Treats',
87
+ freshPastries: 'Food & Treats',
88
+ localBakeryPartner: 'Food & Treats',
89
+ dessertDestination: 'Food & Treats',
90
+ // Identity & Values
91
+ lgbtqFriendly: 'Identity & Values',
92
+ womenOwned: 'Identity & Values',
93
+ zeroWasteFocus: 'Identity & Values',
94
+ communityHub: 'Identity & Values',
95
+ // Workspace
96
+ laptopWelcome: 'Workspace',
97
+ fastWifi: 'Workspace',
98
+ longStayOk: 'Workspace',
99
+ };
100
+ /** Display labels for each specialty key. Single source of truth for admin and mobile. */
101
+ exports.specialtyLabelMap = {
102
+ // Coffee
103
+ inHouseRoastery: 'In-House Roastery',
104
+ pourOverSpecialty: 'Pour-Over / Filter Focus',
105
+ espressoExpert: 'Espresso Specialists',
106
+ singleOriginFocus: 'Single Origin Focus',
107
+ rotatingRoasters: 'Rotating / Guest Roasters',
108
+ tastingNotesOnMenu: 'Tasting Notes on Menu',
109
+ naturalFermentedFocus: 'Natural & Fermented Coffees',
110
+ cuppingAndEducation: 'Cuppings & Education',
111
+ // Atmosphere
112
+ cozyAmbiance: 'Cosy & Welcoming',
113
+ bustlingEnergy: 'Lively Atmosphere',
114
+ espressoBarStanding: 'Espresso Bar / Standing Only',
115
+ vinylRecords: 'Vinyl Records',
116
+ uniqueExperience: 'Unique Concept',
117
+ // Food & Treats
118
+ inHouseBakery: 'In-House Bakery',
119
+ freshPastries: 'Fresh Pastries',
120
+ localBakeryPartner: 'Local Bakery Partner',
121
+ dessertDestination: 'Dessert Destination',
122
+ // Identity & Values
123
+ lgbtqFriendly: 'LGBTQ+ Friendly',
124
+ womenOwned: 'Women Owned & Led',
125
+ zeroWasteFocus: 'Zero Waste Focused',
126
+ communityHub: 'Community Hub',
127
+ // Workspace
128
+ laptopWelcome: 'Laptop Welcome',
129
+ fastWifi: 'Fast WiFi',
130
+ longStayOk: 'Long Stay OK',
131
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@simonarcher/fika-types",
3
- "version": "1.1.6",
3
+ "version": "1.2.1",
4
4
  "description": "Shared TypeScript types for Fika projects",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",