@superbright/indexeddb-orm 1.0.1 → 1.0.2
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/base/amenityimagesonproperty.cjs +2 -0
- package/dist/base/amenityimagesonproperty.cjs.map +1 -0
- package/dist/base/amenityimagesonproperty.d.ts +11 -0
- package/dist/base/amenityimagesonproperty.mjs +9 -0
- package/dist/base/amenityimagesonproperty.mjs.map +1 -0
- package/dist/base/enums.cjs +2 -0
- package/dist/base/enums.cjs.map +1 -0
- package/dist/base/enums.d.ts +69 -0
- package/dist/base/enums.mjs +14 -0
- package/dist/base/enums.mjs.map +1 -0
- package/dist/base/favoriteunit.cjs +2 -0
- package/dist/base/favoriteunit.cjs.map +1 -0
- package/dist/base/favoriteunit.d.ts +14 -0
- package/dist/base/favoriteunit.mjs +10 -0
- package/dist/base/favoriteunit.mjs.map +1 -0
- package/dist/base/floorplan.cjs +2 -0
- package/dist/base/floorplan.cjs.map +1 -0
- package/dist/base/floorplan.d.ts +26 -0
- package/dist/base/floorplan.mjs +14 -0
- package/dist/base/floorplan.mjs.map +1 -0
- package/dist/base/index.d.ts +14 -0
- package/dist/base/media.cjs +2 -0
- package/dist/base/media.cjs.map +1 -0
- package/dist/base/media.d.ts +81 -0
- package/dist/base/media.mjs +33 -0
- package/dist/base/media.mjs.map +1 -0
- package/dist/base/overviewimagesonproperty.cjs +2 -0
- package/dist/base/overviewimagesonproperty.cjs.map +1 -0
- package/dist/base/overviewimagesonproperty.d.ts +11 -0
- package/dist/base/overviewimagesonproperty.mjs +9 -0
- package/dist/base/overviewimagesonproperty.mjs.map +1 -0
- package/dist/base/property.cjs +2 -0
- package/dist/base/property.cjs.map +1 -0
- package/dist/base/property.d.ts +60 -0
- package/dist/base/property.mjs +26 -0
- package/dist/base/property.mjs.map +1 -0
- package/dist/base/propertyamenity.cjs +2 -0
- package/dist/base/propertyamenity.cjs.map +1 -0
- package/dist/base/propertyamenity.d.ts +14 -0
- package/dist/base/propertyamenity.mjs +10 -0
- package/dist/base/propertyamenity.mjs.map +1 -0
- package/dist/base/propertyhighlight.cjs +2 -0
- package/dist/base/propertyhighlight.cjs.map +1 -0
- package/dist/base/propertyhighlight.d.ts +14 -0
- package/dist/base/propertyhighlight.mjs +10 -0
- package/dist/base/propertyhighlight.mjs.map +1 -0
- package/dist/base/renderedstyle.cjs +2 -0
- package/dist/base/renderedstyle.cjs.map +1 -0
- package/dist/base/renderedstyle.d.ts +20 -0
- package/dist/base/renderedstyle.mjs +12 -0
- package/dist/base/renderedstyle.mjs.map +1 -0
- package/dist/base/room.cjs +2 -0
- package/dist/base/room.cjs.map +1 -0
- package/dist/base/room.d.ts +20 -0
- package/dist/base/room.mjs +12 -0
- package/dist/base/room.mjs.map +1 -0
- package/dist/base/style.cjs +2 -0
- package/dist/base/style.cjs.map +1 -0
- package/dist/base/style.d.ts +17 -0
- package/dist/base/style.mjs +11 -0
- package/dist/base/style.mjs.map +1 -0
- package/dist/base/unit.cjs +2 -0
- package/dist/base/unit.cjs.map +1 -0
- package/dist/base/unit.d.ts +57 -0
- package/dist/base/unit.mjs +25 -0
- package/dist/base/unit.mjs.map +1 -0
- package/dist/base/user.cjs +2 -0
- package/dist/base/user.cjs.map +1 -0
- package/dist/base/user.d.ts +27 -0
- package/dist/base/user.mjs +15 -0
- package/dist/base/user.mjs.map +1 -0
- package/dist/features/analytics/MixpanelProvider.cjs +2 -0
- package/dist/features/analytics/MixpanelProvider.cjs.map +1 -0
- package/dist/features/analytics/MixpanelProvider.mjs +44 -0
- package/dist/features/analytics/MixpanelProvider.mjs.map +1 -0
- package/dist/features/analytics/analytics.cjs +2 -0
- package/dist/features/analytics/analytics.cjs.map +1 -0
- package/dist/features/analytics/analytics.d.ts +14 -12
- package/dist/features/analytics/analytics.mjs +230 -0
- package/dist/features/analytics/analytics.mjs.map +1 -0
- package/dist/features/analytics/generateUserUUID.cjs +2 -0
- package/dist/features/analytics/generateUserUUID.cjs.map +1 -0
- package/dist/features/analytics/generateUserUUID.mjs +6 -0
- package/dist/features/analytics/generateUserUUID.mjs.map +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.mjs +98 -49
- package/dist/index.mjs.map +1 -1
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs +1 -1
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.cjs.map +1 -1
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs +68 -67
- package/dist/node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs.map +1 -1
- package/dist/utils/casing.cjs +2 -0
- package/dist/utils/casing.cjs.map +1 -0
- package/dist/utils/casing.mjs +12 -0
- package/dist/utils/casing.mjs.map +1 -0
- package/dist/utils/collections.cjs +2 -0
- package/dist/utils/collections.cjs.map +1 -0
- package/dist/utils/collections.mjs +13 -0
- package/dist/utils/collections.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
import { convertKeysToSnakeCase as T, convertKeysToCamelCase as u } from "../../utils/casing.mjs";
|
|
2
|
+
import { normalizeToStringArray as h } from "../../utils/collections.mjs";
|
|
3
|
+
import { useMixpanel as q } from "./MixpanelProvider.mjs";
|
|
4
|
+
import { object as p, string as e, number as o, enum as y, any as C, unknown as U, boolean as k, array as w } from "../../node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.mjs";
|
|
5
|
+
const J = ["location", "budget", "size", "other"], x = [
|
|
6
|
+
"cost_low_to_high",
|
|
7
|
+
"cost_high_to_low",
|
|
8
|
+
"newest",
|
|
9
|
+
"relevance"
|
|
10
|
+
], b = [
|
|
11
|
+
"Skip",
|
|
12
|
+
"Continue",
|
|
13
|
+
"Back"
|
|
14
|
+
], c = p({
|
|
15
|
+
propertyId: e().min(1, "propertyId is required"),
|
|
16
|
+
propertySlug: e().min(1, "propertySlug is required")
|
|
17
|
+
}), l = c.extend({
|
|
18
|
+
propertyName: e().min(1, "propertyName is required")
|
|
19
|
+
}), A = l.extend({
|
|
20
|
+
totalUnitsAvailable: o().int().nonnegative(),
|
|
21
|
+
resultsUnitCount: o().int().nonnegative(),
|
|
22
|
+
unitCountDate: e().optional()
|
|
23
|
+
}), F = l.extend({
|
|
24
|
+
totalUnitsAvailable: o().int().nonnegative(),
|
|
25
|
+
resultsUnitCount: o().int().nonnegative(),
|
|
26
|
+
unitCountDate: e().optional()
|
|
27
|
+
}), m = l.extend({
|
|
28
|
+
totalUnitsAvailable: o().int().nonnegative(),
|
|
29
|
+
resultsUnitCount: o().int().nonnegative(),
|
|
30
|
+
unitCountDate: e().optional(),
|
|
31
|
+
lifestylePreferences: U().optional()
|
|
32
|
+
}), S = l.extend({
|
|
33
|
+
funnelStep: o().int().nonnegative(),
|
|
34
|
+
profileQuestion: e().min(1, "profileQuestion is required"),
|
|
35
|
+
interactedElement: y(b),
|
|
36
|
+
questionEnum: e().optional()
|
|
37
|
+
}), P = S.extend({
|
|
38
|
+
selectedAnswersEnumArray: C().transform((a) => h(a)).refine((a) => Array.isArray(a), {
|
|
39
|
+
message: "selectedAnswersEnumArray must resolve to an array"
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
c.extend({
|
|
43
|
+
unitId: e().min(1, "unitId is required"),
|
|
44
|
+
unitTitle: e().min(1, "unitTitle is required"),
|
|
45
|
+
unitSlug: e().min(1, "unitSlug is required")
|
|
46
|
+
});
|
|
47
|
+
const f = l.extend({
|
|
48
|
+
unitId: e().min(1, "unitId is required"),
|
|
49
|
+
unitTitle: e().min(1, "unitTitle is required"),
|
|
50
|
+
unitSlug: e().min(1, "unitSlug is required")
|
|
51
|
+
}), O = f.extend({
|
|
52
|
+
favoritedUnit: k()
|
|
53
|
+
}), I = C().transform((a) => h(a)).refine((a) => Array.isArray(a), {
|
|
54
|
+
message: "Selection must resolve to an array"
|
|
55
|
+
}), Q = l.extend({
|
|
56
|
+
filterIndex: o().int().nonnegative(),
|
|
57
|
+
filterLabel: e().min(1, "filterLabel is required"),
|
|
58
|
+
selectedFiltersEnum: I,
|
|
59
|
+
filterName: e().optional()
|
|
60
|
+
}), v = l.extend({
|
|
61
|
+
filterIndex: o().int().nonnegative(),
|
|
62
|
+
filterLabel: e().min(1, "filterLabel is required"),
|
|
63
|
+
selectedFiltersEnum: I
|
|
64
|
+
}), g = c.extend({
|
|
65
|
+
sortIndex: o().int().nonnegative(),
|
|
66
|
+
sortEnum: y(x)
|
|
67
|
+
}), D = l.extend({
|
|
68
|
+
sortIndex: o().int().nonnegative(),
|
|
69
|
+
sortEnum: y(x),
|
|
70
|
+
resultsUnitCount: o().int().nonnegative(),
|
|
71
|
+
unitCountDate: e().optional()
|
|
72
|
+
}), K = c.extend({
|
|
73
|
+
fullQuestionnaireSchemaJson: U().optional(),
|
|
74
|
+
resultsJson: p({
|
|
75
|
+
type: e().optional(),
|
|
76
|
+
total: o().int().nonnegative().optional(),
|
|
77
|
+
units: w(
|
|
78
|
+
p({
|
|
79
|
+
unitId: e().min(1, "unitId is required"),
|
|
80
|
+
unitName: e().optional()
|
|
81
|
+
})
|
|
82
|
+
).optional()
|
|
83
|
+
}).optional()
|
|
84
|
+
}), z = f.extend({
|
|
85
|
+
favoritedUnit: k()
|
|
86
|
+
}), N = f.extend({
|
|
87
|
+
favoritedUnit: k()
|
|
88
|
+
}), L = l.extend({
|
|
89
|
+
unitId: e().min(1, "unitId is required"),
|
|
90
|
+
unitTitle: e().min(1, "unitTitle is required"),
|
|
91
|
+
unitSlug: e().min(1, "unitSlug is required"),
|
|
92
|
+
resultsUnitCount: o().int().nonnegative(),
|
|
93
|
+
unitCountDate: e().optional()
|
|
94
|
+
});
|
|
95
|
+
function _() {
|
|
96
|
+
const a = q();
|
|
97
|
+
return (s, n) => {
|
|
98
|
+
const t = n == null ? n : T(n);
|
|
99
|
+
a.track(s, t);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
const M = (a, s, n, t) => (r) => {
|
|
103
|
+
const i = u(
|
|
104
|
+
r
|
|
105
|
+
), d = s.parse(i), E = t != null && t.forwardOriginalPayload ? r : d;
|
|
106
|
+
n(a, E, {
|
|
107
|
+
skipKeyTransform: t == null ? void 0 : t.skipKeyTransform
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
function V(a) {
|
|
111
|
+
const s = (t, r, i) => {
|
|
112
|
+
const d = i != null && i.skipKeyTransform ? r : T(r);
|
|
113
|
+
a(t, d);
|
|
114
|
+
}, n = (t, r, i) => M(t, r, s, i);
|
|
115
|
+
return {
|
|
116
|
+
trackViewAllUnits: (t) => {
|
|
117
|
+
const r = u(
|
|
118
|
+
t
|
|
119
|
+
), i = A.parse({
|
|
120
|
+
unitCountDate: (/* @__PURE__ */ new Date()).toISOString(),
|
|
121
|
+
...r
|
|
122
|
+
});
|
|
123
|
+
s("View All Units", i);
|
|
124
|
+
},
|
|
125
|
+
trackQuestionnaireSkip: (t) => {
|
|
126
|
+
const r = u(
|
|
127
|
+
t
|
|
128
|
+
), i = S.parse({
|
|
129
|
+
...r,
|
|
130
|
+
interactedElement: "Skip"
|
|
131
|
+
});
|
|
132
|
+
s("Questionnaire Navigated", i);
|
|
133
|
+
},
|
|
134
|
+
trackQuestionnaireContinue: (t) => {
|
|
135
|
+
const r = u(
|
|
136
|
+
t
|
|
137
|
+
), i = P.parse({
|
|
138
|
+
...r,
|
|
139
|
+
interactedElement: "Continue"
|
|
140
|
+
});
|
|
141
|
+
s("Questionnaire Navigated", i);
|
|
142
|
+
},
|
|
143
|
+
trackQuestionnaireBack: (t) => {
|
|
144
|
+
const r = u(
|
|
145
|
+
t
|
|
146
|
+
), i = S.parse({
|
|
147
|
+
...r,
|
|
148
|
+
interactedElement: "Back"
|
|
149
|
+
});
|
|
150
|
+
s("Questionnaire Navigated", i);
|
|
151
|
+
},
|
|
152
|
+
trackClickUnit: n("Unit Card Clicked", z, {
|
|
153
|
+
skipKeyTransform: !0,
|
|
154
|
+
forwardOriginalPayload: !0
|
|
155
|
+
}),
|
|
156
|
+
trackHoverUnit: n("Unit Hovered", O, {
|
|
157
|
+
skipKeyTransform: !0,
|
|
158
|
+
forwardOriginalPayload: !0
|
|
159
|
+
}),
|
|
160
|
+
trackLoadMore: (t) => {
|
|
161
|
+
const r = u(
|
|
162
|
+
t
|
|
163
|
+
), i = F.parse({
|
|
164
|
+
unitCountDate: (/* @__PURE__ */ new Date()).toISOString(),
|
|
165
|
+
...r
|
|
166
|
+
});
|
|
167
|
+
s("Load More", i);
|
|
168
|
+
},
|
|
169
|
+
trackFilterOpened: n("Filter Opened", Q),
|
|
170
|
+
trackFilterCanceled: n(
|
|
171
|
+
"Filter Canceled",
|
|
172
|
+
v
|
|
173
|
+
),
|
|
174
|
+
trackFilterApplied: n(
|
|
175
|
+
"Filter Applied",
|
|
176
|
+
v
|
|
177
|
+
),
|
|
178
|
+
trackOpenSort: (t) => {
|
|
179
|
+
const r = u(
|
|
180
|
+
t
|
|
181
|
+
), i = D.parse({
|
|
182
|
+
unitCountDate: (/* @__PURE__ */ new Date()).toISOString(),
|
|
183
|
+
...r
|
|
184
|
+
});
|
|
185
|
+
s("Sort Opened", i);
|
|
186
|
+
},
|
|
187
|
+
trackSelectSort: n("Sort Applied", g),
|
|
188
|
+
trackCancelSort: n("Sort Canceled", g),
|
|
189
|
+
trackClickUnitFavorites: n(
|
|
190
|
+
"Unit Favorited",
|
|
191
|
+
N
|
|
192
|
+
),
|
|
193
|
+
trackUnitUnfavorited: n(
|
|
194
|
+
"Unit Unfavorited",
|
|
195
|
+
L
|
|
196
|
+
),
|
|
197
|
+
trackQuestionnaireResult: n(
|
|
198
|
+
"Questionnaire Submitted",
|
|
199
|
+
K
|
|
200
|
+
),
|
|
201
|
+
trackScheduleTourFormInteracted: n(
|
|
202
|
+
"Schedule Tour Form Interacted",
|
|
203
|
+
m,
|
|
204
|
+
{ skipKeyTransform: !0, forwardOriginalPayload: !0 }
|
|
205
|
+
),
|
|
206
|
+
trackScheduleTourFormSubmitted: n(
|
|
207
|
+
"Schedule Tour Form Submitted",
|
|
208
|
+
m,
|
|
209
|
+
{ skipKeyTransform: !0, forwardOriginalPayload: !0 }
|
|
210
|
+
),
|
|
211
|
+
trackScheduleTourUrlClicked: n(
|
|
212
|
+
"Schedule Tour URL Clicked",
|
|
213
|
+
m,
|
|
214
|
+
{ skipKeyTransform: !0, forwardOriginalPayload: !0 }
|
|
215
|
+
)
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
function W() {
|
|
219
|
+
const a = _();
|
|
220
|
+
return V(a);
|
|
221
|
+
}
|
|
222
|
+
export {
|
|
223
|
+
J as QuestionEnumValues,
|
|
224
|
+
b as QuestionnaireInteractionValues,
|
|
225
|
+
x as SortEnumValues,
|
|
226
|
+
V as buildTrackingEvents,
|
|
227
|
+
_ as useTrackEvent,
|
|
228
|
+
W as useTrackingEvents
|
|
229
|
+
};
|
|
230
|
+
//# sourceMappingURL=analytics.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analytics.mjs","sources":["../../../src/features/analytics/analytics.ts"],"sourcesContent":["import { z } from \"zod\";\n\nimport {\n convertKeysToCamelCase,\n convertKeysToSnakeCase,\n} from \"../../utils/casing\";\nimport { normalizeToStringArray } from \"../../utils/collections\";\nimport { useMixpanel } from \"./MixpanelProvider\";\n\ntype AnalyticsPayload<Schema extends z.ZodTypeAny> = z.input<Schema>;\n\ntype AnalyticsPayloadWithout<\n Schema extends z.ZodTypeAny,\n Keys extends PropertyKey,\n> = Omit<AnalyticsPayload<Schema>, Keys>;\n\nexport const QuestionEnumValues = [\"location\", \"budget\", \"size\", \"other\"] as const;\nexport type QuestionEnum = (typeof QuestionEnumValues)[number];\nexport type FilterEnum = string;\nexport const SortEnumValues = [\n \"cost_low_to_high\",\n \"cost_high_to_low\",\n \"newest\",\n \"relevance\",\n] as const;\nexport type SortEnum = (typeof SortEnumValues)[number];\nexport const QuestionnaireInteractionValues = [\n \"Skip\",\n \"Continue\",\n \"Back\",\n] as const;\nexport type QuestionnaireInteraction =\n (typeof QuestionnaireInteractionValues)[number];\n\nconst propertyContextSchema = z.object({\n propertyId: z.string().min(1, \"propertyId is required\"),\n propertySlug: z.string().min(1, \"propertySlug is required\"),\n});\n\nconst propertyWithNameSchema = propertyContextSchema.extend({\n propertyName: z.string().min(1, \"propertyName is required\"),\n});\n\nconst viewAllUnitsSchema = propertyWithNameSchema.extend({\n totalUnitsAvailable: z.number().int().nonnegative(),\n resultsUnitCount: z.number().int().nonnegative(),\n unitCountDate: z.string().optional(),\n});\n\nconst loadMoreSchema = propertyWithNameSchema.extend({\n totalUnitsAvailable: z.number().int().nonnegative(),\n resultsUnitCount: z.number().int().nonnegative(),\n unitCountDate: z.string().optional(),\n});\n\nconst scheduleTourFormSchema = propertyWithNameSchema.extend({\n totalUnitsAvailable: z.number().int().nonnegative(),\n resultsUnitCount: z.number().int().nonnegative(),\n unitCountDate: z.string().optional(),\n lifestylePreferences: z.unknown().optional(),\n});\n\nconst questionnaireEventSchema = propertyWithNameSchema.extend({\n funnelStep: z.number().int().nonnegative(),\n profileQuestion: z.string().min(1, \"profileQuestion is required\"),\n interactedElement: z.enum(QuestionnaireInteractionValues),\n questionEnum: z.string().optional(),\n});\n\nconst continueQuestionnaireEventSchema = questionnaireEventSchema.extend({\n selectedAnswersEnumArray: z\n .any()\n .transform((value) => normalizeToStringArray(value))\n .refine((value): value is string[] => Array.isArray(value), {\n message: \"selectedAnswersEnumArray must resolve to an array\",\n }),\n});\n\nconst unitEventSchema = propertyContextSchema.extend({\n unitId: z.string().min(1, \"unitId is required\"),\n unitTitle: z.string().min(1, \"unitTitle is required\"),\n unitSlug: z.string().min(1, \"unitSlug is required\"),\n});\n\nconst unitWithPropertyNameSchema = propertyWithNameSchema.extend({\n unitId: z.string().min(1, \"unitId is required\"),\n unitTitle: z.string().min(1, \"unitTitle is required\"),\n unitSlug: z.string().min(1, \"unitSlug is required\"),\n});\n\nconst hoverUnitSchema = unitWithPropertyNameSchema.extend({\n favoritedUnit: z.boolean(),\n});\n\nconst selectionSchema = z\n .any()\n .transform((value) => normalizeToStringArray(value))\n .refine((value): value is string[] => Array.isArray(value), {\n message: \"Selection must resolve to an array\",\n });\n\nconst filterOpenSchema = propertyWithNameSchema.extend({\n filterIndex: z.number().int().nonnegative(),\n filterLabel: z.string().min(1, \"filterLabel is required\"),\n selectedFiltersEnum: selectionSchema,\n filterName: z.string().optional(),\n});\n\nconst filterMutationSchema = propertyWithNameSchema.extend({\n filterIndex: z.number().int().nonnegative(),\n filterLabel: z.string().min(1, \"filterLabel is required\"),\n selectedFiltersEnum: selectionSchema,\n});\n\nconst sortEventSchema = propertyContextSchema.extend({\n sortIndex: z.number().int().nonnegative(),\n sortEnum: z.enum(SortEnumValues),\n});\n\nconst sortOpenSchema = propertyWithNameSchema.extend({\n sortIndex: z.number().int().nonnegative(),\n sortEnum: z.enum(SortEnumValues),\n resultsUnitCount: z.number().int().nonnegative(),\n unitCountDate: z.string().optional(),\n});\n\nconst questionnaireResultSchema = propertyContextSchema.extend({\n fullQuestionnaireSchemaJson: z.unknown().optional(),\n resultsJson: z\n .object({\n type: z.string().optional(),\n total: z.number().int().nonnegative().optional(),\n units: z\n .array(\n z.object({\n unitId: z.string().min(1, \"unitId is required\"),\n unitName: z.string().optional(),\n })\n )\n .optional(),\n })\n .optional(),\n});\n\nconst clickUnitSchema = unitWithPropertyNameSchema.extend({\n favoritedUnit: z.boolean(),\n});\n\nconst clickUnitFavoritesSchema = unitWithPropertyNameSchema.extend({\n favoritedUnit: z.boolean(),\n});\n\nconst unitUnfavoritedSchema = propertyWithNameSchema.extend({\n unitId: z.string().min(1, \"unitId is required\"),\n unitTitle: z.string().min(1, \"unitTitle is required\"),\n unitSlug: z.string().min(1, \"unitSlug is required\"),\n resultsUnitCount: z.number().int().nonnegative(),\n unitCountDate: z.string().optional(),\n});\n\nexport type BaseEvent = z.infer<typeof propertyContextSchema>;\nexport type ViewAllUnitsEvent = z.infer<typeof viewAllUnitsSchema>;\nexport type LoadMoreEvent = z.infer<typeof loadMoreSchema>;\nexport type QuestionnaireEvent = z.infer<typeof questionnaireEventSchema>;\nexport type ContinueQuestionnaireEvent = z.infer<\n typeof continueQuestionnaireEventSchema\n>;\nexport type ClickUnitEvent = z.infer<typeof clickUnitSchema>;\nexport type UnitEvent = z.infer<typeof unitEventSchema>;\nexport type HoverUnitEvent = z.infer<typeof hoverUnitSchema>;\nexport type FilterEvent = z.infer<typeof filterMutationSchema>;\nexport type FilterOpenEvent = z.infer<typeof filterOpenSchema>;\nexport type SortEvent = z.infer<typeof sortEventSchema>;\nexport type SortOpenEvent = z.infer<typeof sortOpenSchema>;\nexport type QuestionnaireResultEvent = z.infer<\n typeof questionnaireResultSchema\n>;\nexport type ClickUnitFavoritesEvent = z.infer<typeof clickUnitFavoritesSchema>;\nexport type ScheduleTourFormEvent = z.infer<typeof scheduleTourFormSchema>;\nexport type UnitUnfavoritedEvent = z.infer<typeof unitUnfavoritedSchema>;\n\nexport type TrackingEventWithUnits = FilterEvent & {\n trackingEvent: (payload: FilterEvent) => void;\n [metadata: string]: unknown;\n};\n\nexport type TrackEventFn = (eventName: string, data?: Record<string, any>) => void;\n\nexport function useTrackEvent() {\n const mixpanel = useMixpanel();\n return (eventName: string, data?: Record<string, any>) => {\n const payload =\n data == null ? data : (convertKeysToSnakeCase(data) as Record<string, any>);\n mixpanel.track(eventName, payload);\n };\n}\n\nconst createStrictTrackerInternal =\n <Schema extends z.ZodTypeAny>(\n eventName: string,\n schema: Schema,\n dispatch: (\n eventName: string,\n payload: unknown,\n options?: { skipKeyTransform?: boolean },\n ) => void,\n options?: { skipKeyTransform?: boolean; forwardOriginalPayload?: boolean },\n ) =>\n (payload: AnalyticsPayload<Schema>) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as z.input<Schema>;\n const parsed = schema.parse(normalizedPayload);\n const payloadForDispatch = options?.forwardOriginalPayload\n ? payload\n : parsed;\n dispatch(eventName, payloadForDispatch, {\n skipKeyTransform: options?.skipKeyTransform,\n });\n };\n\nexport function buildTrackingEvents(trackEvent: TrackEventFn) {\n const dispatch = (\n eventName: string,\n payload: unknown,\n options?: { skipKeyTransform?: boolean },\n ) => {\n const finalPayload = options?.skipKeyTransform\n ? (payload as Record<string, any>)\n : (convertKeysToSnakeCase(payload) as Record<string, any>);\n trackEvent(eventName, finalPayload);\n };\n\n const createStrictTracker = <Schema extends z.ZodTypeAny>(\n eventName: string,\n schema: Schema,\n options?: { skipKeyTransform?: boolean; forwardOriginalPayload?: boolean },\n ) => createStrictTrackerInternal(eventName, schema, dispatch, options);\n\n return {\n trackViewAllUnits: (\n payload: AnalyticsPayload<typeof viewAllUnitsSchema>,\n ) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as z.input<typeof viewAllUnitsSchema>;\n const parsed = viewAllUnitsSchema.parse({\n unitCountDate: new Date().toISOString(),\n ...normalizedPayload,\n });\n dispatch(\"View All Units\", parsed);\n },\n trackQuestionnaireSkip: (\n payload: AnalyticsPayloadWithout<\n typeof questionnaireEventSchema,\n \"interactedElement\"\n >,\n ) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as Omit<\n z.input<typeof questionnaireEventSchema>,\n \"interactedElement\"\n >;\n const parsed = questionnaireEventSchema.parse({\n ...normalizedPayload,\n interactedElement: \"Skip\",\n });\n dispatch(\"Questionnaire Navigated\", parsed);\n },\n trackQuestionnaireContinue: (\n payload: AnalyticsPayloadWithout<\n typeof continueQuestionnaireEventSchema,\n \"interactedElement\"\n >,\n ) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as Omit<\n z.input<typeof continueQuestionnaireEventSchema>,\n \"interactedElement\"\n >;\n const parsed = continueQuestionnaireEventSchema.parse({\n ...normalizedPayload,\n interactedElement: \"Continue\",\n });\n dispatch(\"Questionnaire Navigated\", parsed);\n },\n trackQuestionnaireBack: (\n payload: AnalyticsPayloadWithout<\n typeof questionnaireEventSchema,\n \"interactedElement\"\n >,\n ) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as Omit<\n z.input<typeof questionnaireEventSchema>,\n \"interactedElement\"\n >;\n const parsed = questionnaireEventSchema.parse({\n ...normalizedPayload,\n interactedElement: \"Back\",\n });\n dispatch(\"Questionnaire Navigated\", parsed);\n },\n trackClickUnit: createStrictTracker(\"Unit Card Clicked\", clickUnitSchema, {\n skipKeyTransform: true,\n forwardOriginalPayload: true,\n }),\n trackHoverUnit: createStrictTracker(\"Unit Hovered\", hoverUnitSchema, {\n skipKeyTransform: true,\n forwardOriginalPayload: true,\n }),\n trackLoadMore: (\n payload: AnalyticsPayload<typeof loadMoreSchema>,\n ) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as z.input<typeof loadMoreSchema>;\n const parsed = loadMoreSchema.parse({\n unitCountDate: new Date().toISOString(),\n ...normalizedPayload,\n });\n dispatch(\"Load More\", parsed);\n },\n trackFilterOpened: createStrictTracker(\"Filter Opened\", filterOpenSchema),\n trackFilterCanceled: createStrictTracker(\n \"Filter Canceled\",\n filterMutationSchema,\n ),\n trackFilterApplied: createStrictTracker(\n \"Filter Applied\",\n filterMutationSchema,\n ),\n trackOpenSort: (\n payload: AnalyticsPayload<typeof sortOpenSchema>,\n ) => {\n const normalizedPayload = convertKeysToCamelCase(\n payload,\n ) as z.input<typeof sortOpenSchema>;\n const parsed = sortOpenSchema.parse({\n unitCountDate: new Date().toISOString(),\n ...normalizedPayload,\n });\n dispatch(\"Sort Opened\", parsed);\n },\n trackSelectSort: createStrictTracker(\"Sort Applied\", sortEventSchema),\n trackCancelSort: createStrictTracker(\"Sort Canceled\", sortEventSchema),\n trackClickUnitFavorites: createStrictTracker(\n \"Unit Favorited\",\n clickUnitFavoritesSchema,\n ),\n trackUnitUnfavorited: createStrictTracker(\n \"Unit Unfavorited\",\n unitUnfavoritedSchema,\n ),\n trackQuestionnaireResult: createStrictTracker(\n \"Questionnaire Submitted\",\n questionnaireResultSchema,\n ),\n trackScheduleTourFormInteracted: createStrictTracker(\n \"Schedule Tour Form Interacted\",\n scheduleTourFormSchema,\n { skipKeyTransform: true, forwardOriginalPayload: true },\n ),\n trackScheduleTourFormSubmitted: createStrictTracker(\n \"Schedule Tour Form Submitted\",\n scheduleTourFormSchema,\n { skipKeyTransform: true, forwardOriginalPayload: true },\n ),\n trackScheduleTourUrlClicked: createStrictTracker(\n \"Schedule Tour URL Clicked\",\n scheduleTourFormSchema,\n { skipKeyTransform: true, forwardOriginalPayload: true },\n ),\n };\n}\n\nexport function useTrackingEvents() {\n const trackEvent = useTrackEvent();\n return buildTrackingEvents(trackEvent);\n}\n"],"names":["QuestionEnumValues","SortEnumValues","QuestionnaireInteractionValues","propertyContextSchema","z.object","z.string","propertyWithNameSchema","viewAllUnitsSchema","z.number","loadMoreSchema","scheduleTourFormSchema","z.unknown","questionnaireEventSchema","z.enum","continueQuestionnaireEventSchema","z.any","value","normalizeToStringArray","unitWithPropertyNameSchema","hoverUnitSchema","z.boolean","selectionSchema","filterOpenSchema","filterMutationSchema","sortEventSchema","sortOpenSchema","questionnaireResultSchema","z.array","clickUnitSchema","clickUnitFavoritesSchema","unitUnfavoritedSchema","useTrackEvent","mixpanel","useMixpanel","eventName","data","payload","convertKeysToSnakeCase","createStrictTrackerInternal","schema","dispatch","options","normalizedPayload","convertKeysToCamelCase","parsed","payloadForDispatch","buildTrackingEvents","trackEvent","finalPayload","createStrictTracker","useTrackingEvents"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateUserUUID.cjs","sources":["../../../src/features/analytics/generateUserUUID.ts"],"sourcesContent":["import { getUserUUID } from \"../../api/users\";\n\nexport const generateUserUUID = getUserUUID();\n"],"names":["generateUserUUID","getUserUUID"],"mappings":"uHAEaA,EAAmBC,EAAAA,YAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateUserUUID.mjs","sources":["../../../src/features/analytics/generateUserUUID.ts"],"sourcesContent":["import { getUserUUID } from \"../../api/users\";\n\nexport const generateUserUUID = getUserUUID();\n"],"names":["generateUserUUID","getUserUUID"],"mappings":";AAEO,MAAMA,IAAmBC,EAAA;"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("./errors.cjs"),e=require("./schema.cjs"),l=require("./db.cjs"),n=require("./api/users.cjs"),S=require("./debug.cjs"),i=require("./storage.cjs"),a=require("./api/favorites.cjs"),m=require("./api/properties.cjs"),s=require("./stores/store.cjs"),d=require("./adapters/zustand-store.cjs"),U=require("./adapters/structured-store.cjs"),y=require("./units/favorites.cjs"),t=require("./features/units/transformers.cjs"),u=require("./utils/dimensions.cjs"),h=require("./validation.cjs"),v=require("./base/overviewimagesonproperty.cjs"),M=require("./base/amenityimagesonproperty.cjs"),g=require("./base/floorplan.cjs"),E=require("./base/media.cjs"),D=require("./base/property.cjs"),q=require("./base/propertyhighlight.cjs"),P=require("./base/room.cjs"),A=require("./base/style.cjs"),F=require("./base/unit.cjs"),r=require("./base/enums.cjs"),R=require("./base/renderedstyle.cjs"),f=require("./base/propertyamenity.cjs"),I=require("./base/favoriteunit.cjs"),T=require("./base/user.cjs"),p=require("./features/analytics/MixpanelProvider.cjs"),O=require("./features/analytics/generateUserUUID.cjs"),o=require("./features/analytics/analytics.cjs");exports.OpenDBError=c.OpenDBError;exports.SchemaMismatchError=c.SchemaMismatchError;exports.ApiUserSchema=e.ApiUserSchema;exports.AppStoreDataSchema=e.AppStoreDataSchema;exports.FavoritesSchema=e.FavoritesSchema;exports.FiltersSchema=e.FiltersSchema;exports.PropertySchema=e.PropertySchema;exports.PropertyStoreDataSchema=e.PropertyStoreDataSchema;exports.QueryParamsSchema=e.QueryParamsSchema;exports.ResultsModeEnum=e.ResultsModeEnum;exports.SCHEMA_VERSION=e.SCHEMA_VERSION;exports.SortByEnum=e.SortByEnum;exports.TourContactDataSchema=e.TourContactDataSchema;exports.UnifiedStoreDataSchema=e.UnifiedStoreDataSchema;exports.UnitDataSchema=e.UnitDataSchema;exports.UnitFavoriteSchema=e.UnitFavoriteSchema;exports.UnitSchema=e.UnitSchema;exports.UserPropertyStateSchema=e.UserPropertyStateSchema;exports.UserSchema=e.UserSchema;exports.UserUnitDataSchema=e.UserUnitDataSchema;exports.ViewedUnitSchema=e.ViewedUnitSchema;exports.getDB=l.getDB;exports.resetDB=l.resetDB;exports.defaultIdGenerator=n.defaultIdGenerator;exports.ensureUser=n.ensureUser;exports.getUserUUID=n.getUserUUID;exports.debugDump=S.debugDump;exports.exportJSON=S.exportJSON;exports.createORMStringStorage=i.createORMStringStorage;exports.kvGet=i.kvGet;exports.kvRemove=i.kvRemove;exports.kvSet=i.kvSet;exports.getFavoritedUnitsForProperty=a.getFavoritedUnitsForProperty;exports.isUnitFavorited=a.isUnitFavorited;exports.setFavoriteUnit=a.setFavoriteUnit;exports.toggleFavoriteUnit=a.toggleFavoriteUnit;exports.PropertyStore=m.PropertyStore;exports.propertyStore=m.propertyStore;exports.Store=s.UnifiedStore;exports.UnifiedStore=s.UnifiedStore;exports.store=s.store;exports.createUseUnitState=d.createUseUnitState;exports.createZustandUnifiedStore=d.createZustandUnifiedStore;exports.createStructuredStore=U.createStructuredStore;exports.createStructuredStoreActions=U.createStructuredStoreActions;exports.favorites=y.favorites;exports.DEFAULT_PLACEHOLDER_IMAGE=t.DEFAULT_PLACEHOLDER_IMAGE;exports.DEFAULT_WEB_ORIGIN=t.DEFAULT_WEB_ORIGIN;exports.buildExploreUrl=t.buildExploreUrl;exports.buildImageUrl=t.buildImageUrl;exports.transformUnitsApiResponse=t.transformUnitsApiResponse;exports.transformUnitsApiResponseToClient=t.transformUnitsApiResponseToClient;exports.transformUnitsApiResponseToClientFilters=t.transformUnitsApiResponseToClientFilters;exports.imperialToMm=u.imperialToMm;exports.inchesToMm=u.inchesToMm;exports.mmToInches=u.mmToInches;exports.configureValidation=h.configureValidation;exports.OverviewImagesOnPropertyModel=v.OverviewImagesOnPropertyModel;exports.AmenityImagesOnPropertyModel=M.AmenityImagesOnPropertyModel;exports.FloorPlanModel=g.FloorPlanModel;exports.MediaModel=E.MediaModel;exports.PropertyModel=D.PropertyModel;exports.PropertyHighlightModel=q.PropertyHighlightModel;exports.RoomModel=P.RoomModel;exports.StyleModel=A.StyleModel;exports.UnitModel=F.UnitModel;exports.Currency=r.Currency;exports.DeliveryStatus=r.DeliveryStatus;exports.ExternalService=r.ExternalService;exports.FurnitureAvailability=r.FurnitureAvailability;exports.Highlights=r.Highlights;exports.MediaType=r.MediaType;exports.QueueJobStatus=r.QueueJobStatus;exports.RenderStatus=r.RenderStatus;exports.Status=r.Status;exports.UserRole=r.UserRole;exports.RenderedStyleModel=R.RenderedStyleModel;exports.PropertyAmenityModel=f.PropertyAmenityModel;exports.FavoriteUnitModel=I.FavoriteUnitModel;exports.UserModel=T.UserModel;exports.MixpanelProvider=p.MixpanelProvider;exports.useMixpanel=p.useMixpanel;exports.generateUserUUID=O.generateUserUUID;exports.QuestionEnumValues=o.QuestionEnumValues;exports.QuestionnaireInteractionValues=o.QuestionnaireInteractionValues;exports.SortEnumValues=o.SortEnumValues;exports.buildTrackingEvents=o.buildTrackingEvents;exports.useTrackEvent=o.useTrackEvent;exports.useTrackingEvents=o.useTrackingEvents;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.d.ts
CHANGED
|
@@ -13,3 +13,5 @@ export { favorites } from "./units/favorites";
|
|
|
13
13
|
export * from "./features/units/transformers";
|
|
14
14
|
export * from "./utils/dimensions";
|
|
15
15
|
export { configureValidation, type ValidationMode } from "./validation";
|
|
16
|
+
export * from "./base";
|
|
17
|
+
export * from "./features/analytics";
|
package/dist/index.mjs
CHANGED
|
@@ -1,75 +1,124 @@
|
|
|
1
1
|
import { OpenDBError as t, SchemaMismatchError as o } from "./errors.mjs";
|
|
2
|
-
import { ApiUserSchema as i, AppStoreDataSchema as m, FavoritesSchema as
|
|
3
|
-
import { getDB as
|
|
4
|
-
import { defaultIdGenerator as
|
|
5
|
-
import { debugDump as
|
|
6
|
-
import { createORMStringStorage as
|
|
7
|
-
import { getFavoritedUnitsForProperty as
|
|
2
|
+
import { ApiUserSchema as i, AppStoreDataSchema as m, FavoritesSchema as n, FiltersSchema as p, PropertySchema as s, PropertyStoreDataSchema as S, QueryParamsSchema as l, ResultsModeEnum as f, SCHEMA_VERSION as d, SortByEnum as u, TourContactDataSchema as x, UnifiedStoreDataSchema as U, UnitDataSchema as c, UnitFavoriteSchema as h, UnitSchema as M, UserPropertyStateSchema as v, UserSchema as y, UserUnitDataSchema as g, ViewedUnitSchema as E } from "./schema.mjs";
|
|
3
|
+
import { getDB as A, resetDB as F } from "./db.mjs";
|
|
4
|
+
import { defaultIdGenerator as R, ensureUser as I, getUserUUID as T } from "./api/users.mjs";
|
|
5
|
+
import { debugDump as b, exportJSON as k } from "./debug.mjs";
|
|
6
|
+
import { createORMStringStorage as V, kvGet as B, kvRemove as _, kvSet as G } from "./storage.mjs";
|
|
7
|
+
import { getFavoritedUnitsForProperty as L, isUnitFavorited as Q, setFavoriteUnit as N, toggleFavoriteUnit as w } from "./api/favorites.mjs";
|
|
8
8
|
import { PropertyStore as W, propertyStore as Z } from "./api/properties.mjs";
|
|
9
9
|
import { UnifiedStore as q, UnifiedStore as z, store as K } from "./stores/store.mjs";
|
|
10
10
|
import { createUseUnitState as Y, createZustandUnifiedStore as $ } from "./adapters/zustand-store.mjs";
|
|
11
11
|
import { createStructuredStore as re, createStructuredStoreActions as te } from "./adapters/structured-store.mjs";
|
|
12
12
|
import { favorites as ae } from "./units/favorites.mjs";
|
|
13
|
-
import { DEFAULT_PLACEHOLDER_IMAGE as me, DEFAULT_WEB_ORIGIN as
|
|
14
|
-
import { imperialToMm as
|
|
15
|
-
import { configureValidation as
|
|
13
|
+
import { DEFAULT_PLACEHOLDER_IMAGE as me, DEFAULT_WEB_ORIGIN as ne, buildExploreUrl as pe, buildImageUrl as se, transformUnitsApiResponse as Se, transformUnitsApiResponseToClient as le, transformUnitsApiResponseToClientFilters as fe } from "./features/units/transformers.mjs";
|
|
14
|
+
import { imperialToMm as ue, inchesToMm as xe, mmToInches as Ue } from "./utils/dimensions.mjs";
|
|
15
|
+
import { configureValidation as he } from "./validation.mjs";
|
|
16
|
+
import { OverviewImagesOnPropertyModel as ve } from "./base/overviewimagesonproperty.mjs";
|
|
17
|
+
import { AmenityImagesOnPropertyModel as ge } from "./base/amenityimagesonproperty.mjs";
|
|
18
|
+
import { FloorPlanModel as De } from "./base/floorplan.mjs";
|
|
19
|
+
import { MediaModel as Fe } from "./base/media.mjs";
|
|
20
|
+
import { PropertyModel as Re } from "./base/property.mjs";
|
|
21
|
+
import { PropertyHighlightModel as Te } from "./base/propertyhighlight.mjs";
|
|
22
|
+
import { RoomModel as be } from "./base/room.mjs";
|
|
23
|
+
import { StyleModel as Ce } from "./base/style.mjs";
|
|
24
|
+
import { UnitModel as Be } from "./base/unit.mjs";
|
|
25
|
+
import { Currency as Ge, DeliveryStatus as He, ExternalService as Le, FurnitureAvailability as Qe, Highlights as Ne, MediaType as we, QueueJobStatus as Je, RenderStatus as We, Status as Ze, UserRole as je } from "./base/enums.mjs";
|
|
26
|
+
import { RenderedStyleModel as ze } from "./base/renderedstyle.mjs";
|
|
27
|
+
import { PropertyAmenityModel as Xe } from "./base/propertyamenity.mjs";
|
|
28
|
+
import { FavoriteUnitModel as $e } from "./base/favoriteunit.mjs";
|
|
29
|
+
import { UserModel as rr } from "./base/user.mjs";
|
|
30
|
+
import { MixpanelProvider as or, useMixpanel as ar } from "./features/analytics/MixpanelProvider.mjs";
|
|
31
|
+
import { generateUserUUID as mr } from "./features/analytics/generateUserUUID.mjs";
|
|
32
|
+
import { QuestionEnumValues as pr, QuestionnaireInteractionValues as sr, SortEnumValues as Sr, buildTrackingEvents as lr, useTrackEvent as fr, useTrackingEvents as dr } from "./features/analytics/analytics.mjs";
|
|
16
33
|
export {
|
|
34
|
+
ge as AmenityImagesOnPropertyModel,
|
|
17
35
|
i as ApiUserSchema,
|
|
18
36
|
m as AppStoreDataSchema,
|
|
37
|
+
Ge as Currency,
|
|
19
38
|
me as DEFAULT_PLACEHOLDER_IMAGE,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
39
|
+
ne as DEFAULT_WEB_ORIGIN,
|
|
40
|
+
He as DeliveryStatus,
|
|
41
|
+
Le as ExternalService,
|
|
42
|
+
$e as FavoriteUnitModel,
|
|
43
|
+
n as FavoritesSchema,
|
|
44
|
+
p as FiltersSchema,
|
|
45
|
+
De as FloorPlanModel,
|
|
46
|
+
Qe as FurnitureAvailability,
|
|
47
|
+
Ne as Highlights,
|
|
48
|
+
Fe as MediaModel,
|
|
49
|
+
we as MediaType,
|
|
50
|
+
or as MixpanelProvider,
|
|
23
51
|
t as OpenDBError,
|
|
52
|
+
ve as OverviewImagesOnPropertyModel,
|
|
53
|
+
Xe as PropertyAmenityModel,
|
|
54
|
+
Te as PropertyHighlightModel,
|
|
55
|
+
Re as PropertyModel,
|
|
24
56
|
s as PropertySchema,
|
|
25
57
|
W as PropertyStore,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
58
|
+
S as PropertyStoreDataSchema,
|
|
59
|
+
l as QueryParamsSchema,
|
|
60
|
+
pr as QuestionEnumValues,
|
|
61
|
+
sr as QuestionnaireInteractionValues,
|
|
62
|
+
Je as QueueJobStatus,
|
|
63
|
+
We as RenderStatus,
|
|
64
|
+
ze as RenderedStyleModel,
|
|
65
|
+
f as ResultsModeEnum,
|
|
66
|
+
be as RoomModel,
|
|
67
|
+
d as SCHEMA_VERSION,
|
|
30
68
|
o as SchemaMismatchError,
|
|
31
|
-
|
|
69
|
+
u as SortByEnum,
|
|
70
|
+
Sr as SortEnumValues,
|
|
71
|
+
Ze as Status,
|
|
32
72
|
q as Store,
|
|
33
|
-
|
|
73
|
+
Ce as StyleModel,
|
|
74
|
+
x as TourContactDataSchema,
|
|
34
75
|
z as UnifiedStore,
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
76
|
+
U as UnifiedStoreDataSchema,
|
|
77
|
+
c as UnitDataSchema,
|
|
78
|
+
h as UnitFavoriteSchema,
|
|
79
|
+
Be as UnitModel,
|
|
80
|
+
M as UnitSchema,
|
|
81
|
+
rr as UserModel,
|
|
82
|
+
v as UserPropertyStateSchema,
|
|
83
|
+
je as UserRole,
|
|
84
|
+
y as UserSchema,
|
|
85
|
+
g as UserUnitDataSchema,
|
|
86
|
+
E as ViewedUnitSchema,
|
|
87
|
+
pe as buildExploreUrl,
|
|
44
88
|
se as buildImageUrl,
|
|
45
|
-
|
|
46
|
-
|
|
89
|
+
lr as buildTrackingEvents,
|
|
90
|
+
he as configureValidation,
|
|
91
|
+
V as createORMStringStorage,
|
|
47
92
|
re as createStructuredStore,
|
|
48
93
|
te as createStructuredStoreActions,
|
|
49
94
|
Y as createUseUnitState,
|
|
50
95
|
$ as createZustandUnifiedStore,
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
96
|
+
b as debugDump,
|
|
97
|
+
R as defaultIdGenerator,
|
|
98
|
+
I as ensureUser,
|
|
99
|
+
k as exportJSON,
|
|
55
100
|
ae as favorites,
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
101
|
+
mr as generateUserUUID,
|
|
102
|
+
A as getDB,
|
|
103
|
+
L as getFavoritedUnitsForProperty,
|
|
104
|
+
T as getUserUUID,
|
|
105
|
+
ue as imperialToMm,
|
|
106
|
+
xe as inchesToMm,
|
|
107
|
+
Q as isUnitFavorited,
|
|
108
|
+
B as kvGet,
|
|
109
|
+
_ as kvRemove,
|
|
110
|
+
G as kvSet,
|
|
111
|
+
Ue as mmToInches,
|
|
66
112
|
Z as propertyStore,
|
|
67
|
-
|
|
68
|
-
|
|
113
|
+
F as resetDB,
|
|
114
|
+
N as setFavoriteUnit,
|
|
69
115
|
K as store,
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
116
|
+
w as toggleFavoriteUnit,
|
|
117
|
+
Se as transformUnitsApiResponse,
|
|
118
|
+
le as transformUnitsApiResponseToClient,
|
|
119
|
+
fe as transformUnitsApiResponseToClientFilters,
|
|
120
|
+
ar as useMixpanel,
|
|
121
|
+
fr as useTrackEvent,
|
|
122
|
+
dr as useTrackingEvents
|
|
74
123
|
};
|
|
75
124
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|