@meetelise/studio-components 0.0.18 → 0.0.20
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/componentSchema.json +118 -16
- package/dist/components/Accordion.d.ts +3 -2
- package/dist/components/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion.js +2 -2
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/AddressBlock.d.ts +3 -2
- package/dist/components/AddressBlock.d.ts.map +1 -1
- package/dist/components/AddressBlock.js +2 -2
- package/dist/components/AddressBlock.js.map +1 -1
- package/dist/components/AmenityList.d.ts +3 -2
- package/dist/components/AmenityList.d.ts.map +1 -1
- package/dist/components/AmenityList.js +4 -4
- package/dist/components/AmenityList.js.map +1 -1
- package/dist/components/Badge.d.ts +3 -2
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/Badge.js +2 -2
- package/dist/components/Badge.js.map +1 -1
- package/dist/components/Button.d.ts +3 -2
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +2 -2
- package/dist/components/Button.js.map +1 -1
- package/dist/components/CTABanner.d.ts +3 -2
- package/dist/components/CTABanner.d.ts.map +1 -1
- package/dist/components/CTABanner.js +2 -2
- package/dist/components/CTABanner.js.map +1 -1
- package/dist/components/ContactForm.d.ts +3 -2
- package/dist/components/ContactForm.d.ts.map +1 -1
- package/dist/components/ContactForm.js +7 -4
- package/dist/components/ContactForm.js.map +1 -1
- package/dist/components/Container.d.ts +3 -2
- package/dist/components/Container.d.ts.map +1 -1
- package/dist/components/Container.js +2 -2
- package/dist/components/Container.js.map +1 -1
- package/dist/components/Divider.d.ts +3 -2
- package/dist/components/Divider.d.ts.map +1 -1
- package/dist/components/Divider.js +3 -3
- package/dist/components/Divider.js.map +1 -1
- package/dist/components/FeatureCard.d.ts +3 -2
- package/dist/components/FeatureCard.d.ts.map +1 -1
- package/dist/components/FeatureCard.js +2 -2
- package/dist/components/FeatureCard.js.map +1 -1
- package/dist/components/Footer.d.ts +3 -3
- package/dist/components/Footer.d.ts.map +1 -1
- package/dist/components/Footer.js +2 -2
- package/dist/components/Footer.js.map +1 -1
- package/dist/components/Gallery.d.ts +3 -2
- package/dist/components/Gallery.d.ts.map +1 -1
- package/dist/components/Gallery.js +3 -3
- package/dist/components/Gallery.js.map +1 -1
- package/dist/components/Grid.d.ts +3 -2
- package/dist/components/Grid.d.ts.map +1 -1
- package/dist/components/Grid.js +2 -2
- package/dist/components/Grid.js.map +1 -1
- package/dist/components/Icon.d.ts +3 -2
- package/dist/components/Icon.d.ts.map +1 -1
- package/dist/components/Icon.js +2 -2
- package/dist/components/Icon.js.map +1 -1
- package/dist/components/Image.d.ts +3 -2
- package/dist/components/Image.d.ts.map +1 -1
- package/dist/components/Image.js +2 -2
- package/dist/components/Image.js.map +1 -1
- package/dist/components/Link.d.ts +3 -2
- package/dist/components/Link.d.ts.map +1 -1
- package/dist/components/Link.js +2 -2
- package/dist/components/Link.js.map +1 -1
- package/dist/components/LocationsDirectory.d.ts +18 -0
- package/dist/components/LocationsDirectory.d.ts.map +1 -0
- package/dist/components/LocationsDirectory.js +72 -0
- package/dist/components/LocationsDirectory.js.map +1 -0
- package/dist/components/MapEmbed.d.ts +3 -2
- package/dist/components/MapEmbed.d.ts.map +1 -1
- package/dist/components/MapEmbed.js +2 -2
- package/dist/components/MapEmbed.js.map +1 -1
- package/dist/components/Modal.d.ts +3 -2
- package/dist/components/Modal.d.ts.map +1 -1
- package/dist/components/Modal.js +2 -2
- package/dist/components/Modal.js.map +1 -1
- package/dist/components/Nav.d.ts +3 -3
- package/dist/components/Nav.d.ts.map +1 -1
- package/dist/components/Nav.js +2 -2
- package/dist/components/Nav.js.map +1 -1
- package/dist/components/PropertyCard.d.ts +15 -0
- package/dist/components/PropertyCard.d.ts.map +1 -0
- package/dist/components/PropertyCard.js +31 -0
- package/dist/components/PropertyCard.js.map +1 -0
- package/dist/components/PropertyGrid.d.ts +13 -0
- package/dist/components/PropertyGrid.d.ts.map +1 -0
- package/dist/components/PropertyGrid.js +55 -0
- package/dist/components/PropertyGrid.js.map +1 -0
- package/dist/components/Repeat.d.ts.map +1 -1
- package/dist/components/Repeat.js +10 -1
- package/dist/components/Repeat.js.map +1 -1
- package/dist/components/ScheduleTour.d.ts +3 -2
- package/dist/components/ScheduleTour.d.ts.map +1 -1
- package/dist/components/ScheduleTour.js +6 -4
- package/dist/components/ScheduleTour.js.map +1 -1
- package/dist/components/ScrollReveal.d.ts +3 -2
- package/dist/components/ScrollReveal.d.ts.map +1 -1
- package/dist/components/ScrollReveal.js +2 -2
- package/dist/components/ScrollReveal.js.map +1 -1
- package/dist/components/Section.d.ts +3 -2
- package/dist/components/Section.d.ts.map +1 -1
- package/dist/components/Section.js +2 -2
- package/dist/components/Section.js.map +1 -1
- package/dist/components/Stack.d.ts +3 -2
- package/dist/components/Stack.d.ts.map +1 -1
- package/dist/components/Stack.js +2 -2
- package/dist/components/Stack.js.map +1 -1
- package/dist/components/Stat.d.ts +3 -2
- package/dist/components/Stat.d.ts.map +1 -1
- package/dist/components/Stat.js +2 -2
- package/dist/components/Stat.js.map +1 -1
- package/dist/components/Testimonial.d.ts +3 -2
- package/dist/components/Testimonial.d.ts.map +1 -1
- package/dist/components/Testimonial.js +2 -2
- package/dist/components/Testimonial.js.map +1 -1
- package/dist/components/Text.d.ts +3 -2
- package/dist/components/Text.d.ts.map +1 -1
- package/dist/components/Text.js +2 -2
- package/dist/components/Text.js.map +1 -1
- package/dist/components/ThemeProvider.d.ts +3 -3
- package/dist/components/ThemeProvider.d.ts.map +1 -1
- package/dist/components/ThemeProvider.js +3 -18
- package/dist/components/ThemeProvider.js.map +1 -1
- package/dist/components/VideoHero.d.ts +3 -2
- package/dist/components/VideoHero.d.ts.map +1 -1
- package/dist/components/VideoHero.js +2 -2
- package/dist/components/VideoHero.js.map +1 -1
- package/dist/components/VideoPlayer.d.ts +3 -2
- package/dist/components/VideoPlayer.d.ts.map +1 -1
- package/dist/components/VideoPlayer.js +2 -2
- package/dist/components/VideoPlayer.js.map +1 -1
- package/dist/components/VirtualTourEmbed.d.ts +3 -2
- package/dist/components/VirtualTourEmbed.d.ts.map +1 -1
- package/dist/components/VirtualTourEmbed.js +2 -2
- package/dist/components/VirtualTourEmbed.js.map +1 -1
- package/dist/components/browser/ComponentBrowser.d.ts +2 -1
- package/dist/components/browser/ComponentBrowser.d.ts.map +1 -1
- package/dist/components/browser/ComponentBrowser.js +8 -8
- package/dist/components/browser/ComponentBrowser.js.map +1 -1
- package/dist/components/browser/ComponentShowcase.d.ts +3 -2
- package/dist/components/browser/ComponentShowcase.d.ts.map +1 -1
- package/dist/components/browser/ComponentShowcase.js +2 -2
- package/dist/components/browser/ComponentShowcase.js.map +1 -1
- package/dist/components/browser/componentMeta.d.ts +1 -1
- package/dist/components/browser/componentMeta.d.ts.map +1 -1
- package/dist/components/browser/componentMeta.js +43 -0
- package/dist/components/browser/componentMeta.js.map +1 -1
- package/dist/components/registry.d.ts.map +1 -1
- package/dist/components/registry.js +6 -2
- package/dist/components/registry.js.map +1 -1
- package/dist/components/units/FloorplanExplorer.d.ts +3 -2
- package/dist/components/units/FloorplanExplorer.d.ts.map +1 -1
- package/dist/components/units/FloorplanExplorer.js +5 -5
- package/dist/components/units/FloorplanExplorer.js.map +1 -1
- package/dist/components/units/UnitExplorer.d.ts +3 -2
- package/dist/components/units/UnitExplorer.d.ts.map +1 -1
- package/dist/components/units/UnitExplorer.js +3 -3
- package/dist/components/units/UnitExplorer.js.map +1 -1
- package/dist/components/units/UnitPage.d.ts +3 -2
- package/dist/components/units/UnitPage.d.ts.map +1 -1
- package/dist/components/units/UnitPage.js +5 -5
- package/dist/components/units/UnitPage.js.map +1 -1
- package/dist/hooks/useProperties.d.ts +58 -0
- package/dist/hooks/useProperties.d.ts.map +1 -0
- package/dist/hooks/useProperties.js +56 -0
- package/dist/hooks/useProperties.js.map +1 -0
- package/dist/index.d.ts +7 -14
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -15
- package/dist/index.js.map +1 -1
- package/dist/renderer.d.ts +6 -2
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderer.js +18 -8
- package/dist/renderer.js.map +1 -1
- package/dist/router.d.ts +2 -0
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +31 -1
- package/dist/router.js.map +1 -1
- package/dist/schema/componentSchema.d.ts.map +1 -1
- package/dist/schema/componentSchema.js +54 -13
- package/dist/schema/componentSchema.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/nodeIdentity.d.ts +49 -0
- package/dist/utils/nodeIdentity.d.ts.map +1 -0
- package/dist/utils/nodeIdentity.js +275 -0
- package/dist/utils/nodeIdentity.js.map +1 -0
- package/dist/utils/resolveConfig.d.ts +5 -0
- package/dist/utils/resolveConfig.d.ts.map +1 -1
- package/dist/utils/resolveConfig.js +92 -37
- package/dist/utils/resolveConfig.js.map +1 -1
- package/dist/utils/themeTokens.d.ts +15 -0
- package/dist/utils/themeTokens.d.ts.map +1 -0
- package/dist/utils/themeTokens.js +34 -0
- package/dist/utils/themeTokens.js.map +1 -0
- package/dist/utils/utm.d.ts +17 -0
- package/dist/utils/utm.d.ts.map +1 -0
- package/dist/utils/utm.js +20 -0
- package/dist/utils/utm.js.map +1 -0
- package/package.json +17 -1
- package/dist/components/EliseChat.d.ts +0 -8
- package/dist/components/EliseChat.d.ts.map +0 -1
- package/dist/components/EliseChat.js +0 -22
- package/dist/components/EliseChat.js.map +0 -1
|
@@ -294,6 +294,7 @@
|
|
|
294
294
|
},
|
|
295
295
|
"bg": {
|
|
296
296
|
"kind": "color",
|
|
297
|
+
"bindable": true,
|
|
297
298
|
"default": "#ffffff"
|
|
298
299
|
},
|
|
299
300
|
"bgImage": {
|
|
@@ -302,6 +303,7 @@
|
|
|
302
303
|
},
|
|
303
304
|
"bgOverlay": {
|
|
304
305
|
"kind": "color",
|
|
306
|
+
"bindable": true,
|
|
305
307
|
"label": "Background overlay"
|
|
306
308
|
}
|
|
307
309
|
}
|
|
@@ -364,6 +366,7 @@
|
|
|
364
366
|
},
|
|
365
367
|
"overlay": {
|
|
366
368
|
"kind": "color",
|
|
369
|
+
"bindable": true,
|
|
367
370
|
"default": "rgba(0,0,0,0.4)"
|
|
368
371
|
},
|
|
369
372
|
"height": {
|
|
@@ -1082,6 +1085,121 @@
|
|
|
1082
1085
|
}
|
|
1083
1086
|
}
|
|
1084
1087
|
},
|
|
1088
|
+
"PropertyGrid": {
|
|
1089
|
+
"kind": "elise-component",
|
|
1090
|
+
"category": "Multi-Property",
|
|
1091
|
+
"description": "Searchable grid of a portfolio's communities (central/multi-property sites)",
|
|
1092
|
+
"needsApi": true,
|
|
1093
|
+
"acceptsChildren": false,
|
|
1094
|
+
"props": {
|
|
1095
|
+
"columns": {
|
|
1096
|
+
"kind": "enum",
|
|
1097
|
+
"options": [
|
|
1098
|
+
2,
|
|
1099
|
+
3,
|
|
1100
|
+
4
|
|
1101
|
+
],
|
|
1102
|
+
"default": 3
|
|
1103
|
+
},
|
|
1104
|
+
"showSearch": {
|
|
1105
|
+
"kind": "boolean",
|
|
1106
|
+
"default": true
|
|
1107
|
+
},
|
|
1108
|
+
"showStateFilter": {
|
|
1109
|
+
"kind": "boolean",
|
|
1110
|
+
"default": true
|
|
1111
|
+
},
|
|
1112
|
+
"hrefPattern": {
|
|
1113
|
+
"kind": "string",
|
|
1114
|
+
"default": "/properties/{id}",
|
|
1115
|
+
"label": "Card link pattern"
|
|
1116
|
+
},
|
|
1117
|
+
"emptyMessage": {
|
|
1118
|
+
"kind": "string",
|
|
1119
|
+
"default": "No communities found.",
|
|
1120
|
+
"label": "Empty message"
|
|
1121
|
+
}
|
|
1122
|
+
}
|
|
1123
|
+
},
|
|
1124
|
+
"PropertyCard": {
|
|
1125
|
+
"kind": "elise-component",
|
|
1126
|
+
"category": "Multi-Property",
|
|
1127
|
+
"description": "A single community card (image, name, location) — usually rendered by PropertyGrid",
|
|
1128
|
+
"acceptsChildren": false,
|
|
1129
|
+
"props": {
|
|
1130
|
+
"property": {
|
|
1131
|
+
"kind": "object",
|
|
1132
|
+
"required": true,
|
|
1133
|
+
"bindable": true,
|
|
1134
|
+
"label": "Property record",
|
|
1135
|
+
"subFields": {
|
|
1136
|
+
"id": {
|
|
1137
|
+
"kind": "string",
|
|
1138
|
+
"label": "Property id"
|
|
1139
|
+
},
|
|
1140
|
+
"name": {
|
|
1141
|
+
"kind": "string",
|
|
1142
|
+
"label": "Property name"
|
|
1143
|
+
},
|
|
1144
|
+
"city": {
|
|
1145
|
+
"kind": "string",
|
|
1146
|
+
"label": "City"
|
|
1147
|
+
},
|
|
1148
|
+
"state": {
|
|
1149
|
+
"kind": "string",
|
|
1150
|
+
"label": "State"
|
|
1151
|
+
}
|
|
1152
|
+
}
|
|
1153
|
+
},
|
|
1154
|
+
"hrefPattern": {
|
|
1155
|
+
"kind": "string",
|
|
1156
|
+
"default": "/properties/{id}",
|
|
1157
|
+
"label": "Link pattern"
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1160
|
+
},
|
|
1161
|
+
"LocationsDirectory": {
|
|
1162
|
+
"kind": "elise-component",
|
|
1163
|
+
"category": "Multi-Property",
|
|
1164
|
+
"description": "Communities grouped by state and city with counts and links",
|
|
1165
|
+
"needsApi": true,
|
|
1166
|
+
"acceptsChildren": false,
|
|
1167
|
+
"props": {
|
|
1168
|
+
"columns": {
|
|
1169
|
+
"kind": "enum",
|
|
1170
|
+
"options": [
|
|
1171
|
+
2,
|
|
1172
|
+
3,
|
|
1173
|
+
4
|
|
1174
|
+
],
|
|
1175
|
+
"default": 4
|
|
1176
|
+
},
|
|
1177
|
+
"showCities": {
|
|
1178
|
+
"kind": "boolean",
|
|
1179
|
+
"default": true
|
|
1180
|
+
},
|
|
1181
|
+
"hrefPattern": {
|
|
1182
|
+
"kind": "string",
|
|
1183
|
+
"default": "/properties?state={state}",
|
|
1184
|
+
"label": "Location link pattern"
|
|
1185
|
+
},
|
|
1186
|
+
"loadingMessage": {
|
|
1187
|
+
"kind": "string",
|
|
1188
|
+
"default": "Loading locations...",
|
|
1189
|
+
"label": "Loading message"
|
|
1190
|
+
},
|
|
1191
|
+
"emptyMessage": {
|
|
1192
|
+
"kind": "string",
|
|
1193
|
+
"default": "No locations available yet.",
|
|
1194
|
+
"label": "Empty message"
|
|
1195
|
+
},
|
|
1196
|
+
"errorMessage": {
|
|
1197
|
+
"kind": "string",
|
|
1198
|
+
"default": "Locations are unavailable right now.",
|
|
1199
|
+
"label": "Error message"
|
|
1200
|
+
}
|
|
1201
|
+
}
|
|
1202
|
+
},
|
|
1085
1203
|
"ContactForm": {
|
|
1086
1204
|
"kind": "elise-component",
|
|
1087
1205
|
"category": "Forms",
|
|
@@ -1098,22 +1216,6 @@
|
|
|
1098
1216
|
"acceptsChildren": false,
|
|
1099
1217
|
"props": {}
|
|
1100
1218
|
},
|
|
1101
|
-
"EliseChat": {
|
|
1102
|
-
"kind": "elise-component",
|
|
1103
|
-
"category": "Forms",
|
|
1104
|
-
"description": "Embeds the Elise chat widget for a building",
|
|
1105
|
-
"acceptsChildren": false,
|
|
1106
|
-
"props": {
|
|
1107
|
-
"buildingId": {
|
|
1108
|
-
"kind": "string",
|
|
1109
|
-
"label": "Building id"
|
|
1110
|
-
},
|
|
1111
|
-
"scriptUrl": {
|
|
1112
|
-
"kind": "url",
|
|
1113
|
-
"label": "Widget script URL"
|
|
1114
|
-
}
|
|
1115
|
-
}
|
|
1116
|
-
},
|
|
1117
1219
|
"ComponentBrowser": {
|
|
1118
1220
|
"kind": "system",
|
|
1119
1221
|
"category": "Developer",
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
1
2
|
interface AccordionItem {
|
|
2
3
|
title: string;
|
|
3
4
|
content?: string;
|
|
4
5
|
children?: React.ReactNode;
|
|
5
6
|
}
|
|
6
|
-
interface AccordionProps {
|
|
7
|
+
interface AccordionProps extends EditableNodeAttributes {
|
|
7
8
|
items: AccordionItem[];
|
|
8
9
|
allowMultiple?: boolean;
|
|
9
10
|
defaultOpen?: number[];
|
|
@@ -11,6 +12,6 @@ interface AccordionProps {
|
|
|
11
12
|
className?: string;
|
|
12
13
|
children?: React.ReactNode;
|
|
13
14
|
}
|
|
14
|
-
export declare function Accordion({ items, allowMultiple, defaultOpen, colorScheme, className, }: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function Accordion({ items, allowMultiple, defaultOpen, colorScheme, className, "data-node-id": dataNodeId, }: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/components/Accordion.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../src/components/Accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,UAAU,cAAe,SAAQ,sBAAsB;IACrD,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,aAAqB,EACrB,WAAgB,EAChB,WAAqB,EACrB,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,cAAc,2CAiFhB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState, useCallback } from "react";
|
|
3
3
|
import { twMerge } from "tailwind-merge";
|
|
4
|
-
export function Accordion({ items, allowMultiple = false, defaultOpen = [], colorScheme = "light", className, }) {
|
|
4
|
+
export function Accordion({ items, allowMultiple = false, defaultOpen = [], colorScheme = "light", className, "data-node-id": dataNodeId, }) {
|
|
5
5
|
const isDark = colorScheme === "dark";
|
|
6
6
|
const [openIndices, setOpenIndices] = useState(new Set(defaultOpen));
|
|
7
7
|
const toggle = useCallback((index) => {
|
|
@@ -16,7 +16,7 @@ export function Accordion({ items, allowMultiple = false, defaultOpen = [], colo
|
|
|
16
16
|
return next;
|
|
17
17
|
});
|
|
18
18
|
}, [allowMultiple]);
|
|
19
|
-
return (_jsx("div", { className: twMerge("divide-y border-y", isDark
|
|
19
|
+
return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("divide-y border-y", isDark
|
|
20
20
|
? "divide-white/10 border-white/10"
|
|
21
21
|
: "divide-[var(--color-muted)]/15 border-[var(--color-muted)]/15", className), children: items.map((item, i) => {
|
|
22
22
|
const isOpen = openIndices.has(i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/components/Accordion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../../src/components/Accordion.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAkBzC,MAAM,UAAU,SAAS,CAAC,EACxB,KAAK,EACL,aAAa,GAAG,KAAK,EACrB,WAAW,GAAG,EAAE,EAChB,WAAW,GAAG,OAAO,EACrB,SAAS,EACT,cAAc,EAAE,UAAU,GACX;IACf,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC;IACtC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAC5C,IAAI,GAAG,CAAC,WAAW,CAAC,CACrB,CAAC;IAEF,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,KAAa,EAAE,EAAE;QAChB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE;YACtB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAChD,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,8BACgB,UAAU,EACxB,SAAS,EAAE,OAAO,CAChB,mBAAmB,EACnB,MAAM;YACJ,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,+DAA+D,EACnE,SAAS,CACV,YAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;YACrB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClC,OAAO,CACL,0BACE,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EACxB,SAAS,EAAE,OAAO,CAChB,8GAA8G,EAC9G,MAAM;4BACJ,CAAC,CAAC,gDAAgD;4BAClD,CAAC,CAAC,kEAAkE,CACvE,mBACc,MAAM,aAErB,yBAAO,IAAI,CAAC,KAAK,GAAQ,EACzB,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,GAAG,EACf,SAAS,EAAE,OAAO,CAChB,iDAAiD,EACjD,MAAM,IAAI,YAAY,CACvB,YAED,eAAM,CAAC,EAAC,cAAc,GAAG,GACrB,IACC,EACT,cACE,SAAS,EAAE,OAAO,CAChB,6CAA6C,EAC7C,MAAM,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAC3C,YAEA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CACd,YAAG,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,+BAA+B,CAAC,YACzF,IAAI,CAAC,OAAO,GACX,CACL,CAAC,CAAC,CAAC,CACF,IAAI,CAAC,QAAQ,CACd,GACG,KAxCE,CAAC,CAyCL,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
2
|
+
interface AddressBlockProps extends EditableNodeAttributes {
|
|
2
3
|
address?: string;
|
|
3
4
|
city?: string;
|
|
4
5
|
state?: string;
|
|
@@ -9,6 +10,6 @@ interface AddressBlockProps {
|
|
|
9
10
|
colorScheme?: "light" | "dark";
|
|
10
11
|
className?: string;
|
|
11
12
|
}
|
|
12
|
-
export declare function AddressBlock({ address, city, state, postalCode, phone, googleMapsUrl, layout, colorScheme, className, }: AddressBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export declare function AddressBlock({ address, city, state, postalCode, phone, googleMapsUrl, layout, colorScheme, className, "data-node-id": dataNodeId, }: AddressBlockProps): import("react/jsx-runtime").JSX.Element;
|
|
13
14
|
export {};
|
|
14
15
|
//# sourceMappingURL=AddressBlock.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBlock.d.ts","sourceRoot":"","sources":["../../src/components/AddressBlock.tsx"],"names":[],"mappings":"AAAA,UAAU,
|
|
1
|
+
{"version":3,"file":"AddressBlock.d.ts","sourceRoot":"","sources":["../../src/components/AddressBlock.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,iBAAkB,SAAQ,sBAAsB;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC9B,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,MAAkB,EAClB,WAAqB,EACrB,SAAc,EACd,cAAc,EAAE,UAAU,GAC3B,EAAE,iBAAiB,2CAwCnB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
export function AddressBlock({ address, city, state, postalCode, phone, googleMapsUrl, layout = "stacked", colorScheme = "light", className = "", }) {
|
|
2
|
+
export function AddressBlock({ address, city, state, postalCode, phone, googleMapsUrl, layout = "stacked", colorScheme = "light", className = "", "data-node-id": dataNodeId, }) {
|
|
3
3
|
const textColor = colorScheme === "dark" ? "text-white" : "text-[var(--color-foreground)]";
|
|
4
4
|
const mutedColor = colorScheme === "dark" ? "text-white/70" : "text-[var(--color-secondary)]";
|
|
5
5
|
const isInline = layout === "inline";
|
|
@@ -8,6 +8,6 @@ export function AddressBlock({ address, city, state, postalCode, phone, googleMa
|
|
|
8
8
|
.join(", ");
|
|
9
9
|
const mapsUrl = googleMapsUrl ??
|
|
10
10
|
(fullAddress ? `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(fullAddress)}` : undefined);
|
|
11
|
-
return (_jsxs("div", { className: `${isInline ? "flex flex-wrap items-center gap-4" : "flex flex-col gap-2"} ${className}`, children: [fullAddress && _jsx("p", { className: `${textColor} font-[family-name:var(--font-body)]`, children: fullAddress }), _jsxs("div", { className: `flex ${isInline ? "gap-4" : "flex-col gap-2"}`, children: [phone && (_jsx("a", { href: `tel:${phone.replace(/[^\d+]/g, "")}`, className: `${mutedColor} hover:text-[var(--color-primary)] transition-colors font-[family-name:var(--font-body)]`, children: phone })), mapsUrl && (_jsx("a", { href: mapsUrl, target: "_blank", rel: "noopener noreferrer", className: "text-[var(--color-primary)] hover:underline font-[family-name:var(--font-body)]", children: "Get Directions \u2192" }))] })] }));
|
|
11
|
+
return (_jsxs("div", { "data-node-id": dataNodeId, className: `${isInline ? "flex flex-wrap items-center gap-4" : "flex flex-col gap-2"} ${className}`, children: [fullAddress && _jsx("p", { className: `${textColor} font-[family-name:var(--font-body)]`, children: fullAddress }), _jsxs("div", { className: `flex ${isInline ? "gap-4" : "flex-col gap-2"}`, children: [phone && (_jsx("a", { href: `tel:${phone.replace(/[^\d+]/g, "")}`, className: `${mutedColor} hover:text-[var(--color-primary)] transition-colors font-[family-name:var(--font-body)]`, children: phone })), mapsUrl && (_jsx("a", { href: mapsUrl, target: "_blank", rel: "noopener noreferrer", className: "text-[var(--color-primary)] hover:underline font-[family-name:var(--font-body)]", children: "Get Directions \u2192" }))] })] }));
|
|
12
12
|
}
|
|
13
13
|
//# sourceMappingURL=AddressBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressBlock.js","sourceRoot":"","sources":["../../src/components/AddressBlock.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AddressBlock.js","sourceRoot":"","sources":["../../src/components/AddressBlock.tsx"],"names":[],"mappings":";AAcA,MAAM,UAAU,YAAY,CAAC,EAC3B,OAAO,EACP,IAAI,EACJ,KAAK,EACL,UAAU,EACV,KAAK,EACL,aAAa,EACb,MAAM,GAAG,SAAS,EAClB,WAAW,GAAG,OAAO,EACrB,SAAS,GAAG,EAAE,EACd,cAAc,EAAE,UAAU,GACR;IAClB,MAAM,SAAS,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gCAAgC,CAAC;IAC3F,MAAM,UAAU,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,+BAA+B,CAAC;IAC9F,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC;IAErC,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;SAC5F,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,OAAO,GACX,aAAa;QACb,CAAC,WAAW,CAAC,CAAC,CAAC,mDAAmD,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEnH,OAAO,CACL,+BAAmB,UAAU,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,qBAAqB,IAAI,SAAS,EAAE,aAC/H,WAAW,IAAI,YAAG,SAAS,EAAE,GAAG,SAAS,sCAAsC,YAAG,WAAW,GAAK,EAEnG,eAAK,SAAS,EAAE,QAAQ,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,EAAE,aAC5D,KAAK,IAAI,CACR,YACE,IAAI,EAAE,OAAO,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,EAC3C,SAAS,EAAE,GAAG,UAAU,0FAA0F,YAEjH,KAAK,GACJ,CACL,EAEA,OAAO,IAAI,CACV,YACE,IAAI,EAAE,OAAO,EACb,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,iFAAiF,sCAGzF,CACL,IACG,IACF,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
1
2
|
interface AmenityItem {
|
|
2
3
|
name: string;
|
|
3
4
|
category?: string;
|
|
4
5
|
icon?: string;
|
|
5
6
|
}
|
|
6
|
-
interface AmenityListProps {
|
|
7
|
+
interface AmenityListProps extends EditableNodeAttributes {
|
|
7
8
|
/** When set, fetches amenities live from GET /v1/property/{propertyId}/amenities */
|
|
8
9
|
propertyId?: string;
|
|
9
10
|
/** Static amenities from content blob (fallback when propertyId is not set) */
|
|
@@ -15,6 +16,6 @@ interface AmenityListProps {
|
|
|
15
16
|
colorScheme?: "light" | "dark";
|
|
16
17
|
className?: string;
|
|
17
18
|
}
|
|
18
|
-
export declare function AmenityList({ propertyId: propertyIdProp, amenities: staticAmenities, layout, columns, showIcons, colorScheme, className, }: AmenityListProps): import("react/jsx-runtime").JSX.Element | null;
|
|
19
|
+
export declare function AmenityList({ propertyId: propertyIdProp, amenities: staticAmenities, layout, columns, showIcons, colorScheme, className, "data-node-id": dataNodeId, }: AmenityListProps): import("react/jsx-runtime").JSX.Element | null;
|
|
19
20
|
export {};
|
|
20
21
|
//# sourceMappingURL=AmenityList.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmenityList.d.ts","sourceRoot":"","sources":["../../src/components/AmenityList.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AmenityList.d.ts","sourceRoot":"","sources":["../../src/components/AmenityList.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,gBAAiB,SAAQ,sBAAsB;IACvD,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,MAAM,CAAC,EAAE,UAAU,GAAG,aAAa,GAAG,MAAM,CAAC;IAC7C,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oDAAoD;IACpD,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkCD,wBAAgB,WAAW,CAAC,EAC1B,UAAU,EAAE,cAAc,EAC1B,SAAS,EAAE,eAAoB,EAC/B,MAAmB,EACnB,OAAW,EACX,SAAgB,EAChB,WAAqB,EACrB,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,gBAAgB,kDAsHlB"}
|
|
@@ -14,7 +14,7 @@ const gridColClasses = {
|
|
|
14
14
|
function AmenityRow({ item, showIcons, isDark = false, }) {
|
|
15
15
|
return (_jsxs("div", { className: "flex items-center gap-2", children: [showIcons && item.icon && (_jsx(Icon, { name: item.icon, size: "sm", className: isDark ? "text-[var(--color-accent)]" : "text-[var(--color-primary)]" })), _jsx("span", { className: twMerge("text-sm", isDark ? "text-white/80" : "text-[var(--color-secondary)]"), children: item.name })] }));
|
|
16
16
|
}
|
|
17
|
-
export function AmenityList({ propertyId: propertyIdProp, amenities: staticAmenities = [], layout = "iconGrid", columns = 3, showIcons = true, colorScheme = "light", className, }) {
|
|
17
|
+
export function AmenityList({ propertyId: propertyIdProp, amenities: staticAmenities = [], layout = "iconGrid", columns = 3, showIcons = true, colorScheme = "light", className, "data-node-id": dataNodeId, }) {
|
|
18
18
|
const isDark = colorScheme === "dark";
|
|
19
19
|
const config = useSiteConfig();
|
|
20
20
|
const { authenticatedFetch } = useAuth();
|
|
@@ -60,16 +60,16 @@ export function AmenityList({ propertyId: propertyIdProp, amenities: staticAmeni
|
|
|
60
60
|
if (amenities.length === 0)
|
|
61
61
|
return null;
|
|
62
62
|
if (layout === "iconGrid") {
|
|
63
|
-
return (_jsx("div", { className: twMerge("grid gap-6", gridColClasses[columns] ?? gridColClasses[3], className), children: amenities.map((item) => (_jsxs("div", { className: "flex flex-col items-center gap-2 text-center", children: [showIcons && item.icon && (_jsx(Icon, { name: item.icon, size: "lg", className: isDark ? "text-[var(--color-accent)]" : "text-[var(--color-primary)]" })), _jsx("span", { className: twMerge("text-sm font-medium", isDark ? "text-white" : "text-[var(--color-foreground)]"), children: item.name })] }, item.name))) }));
|
|
63
|
+
return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("grid gap-6", gridColClasses[columns] ?? gridColClasses[3], className), children: amenities.map((item) => (_jsxs("div", { className: "flex flex-col items-center gap-2 text-center", children: [showIcons && item.icon && (_jsx(Icon, { name: item.icon, size: "lg", className: isDark ? "text-[var(--color-accent)]" : "text-[var(--color-primary)]" })), _jsx("span", { className: twMerge("text-sm font-medium", isDark ? "text-white" : "text-[var(--color-foreground)]"), children: item.name })] }, item.name))) }));
|
|
64
64
|
}
|
|
65
65
|
if (layout === "categorized") {
|
|
66
66
|
const items = [...grouped.entries()].map(([category, categoryItems]) => ({
|
|
67
67
|
title: category,
|
|
68
68
|
children: (_jsx("div", { className: "flex flex-col gap-2", children: categoryItems.map((item) => (_jsx(AmenityRow, { item: item, showIcons: showIcons, isDark: isDark }, item.name))) })),
|
|
69
69
|
}));
|
|
70
|
-
return _jsx(Accordion, { items: items, allowMultiple: true, colorScheme: colorScheme, className: className });
|
|
70
|
+
return (_jsx(Accordion, { items: items, allowMultiple: true, colorScheme: colorScheme, className: className, "data-node-id": dataNodeId }));
|
|
71
71
|
}
|
|
72
72
|
// list layout
|
|
73
|
-
return (_jsx("div", { className: twMerge("flex flex-col gap-2", className), children: amenities.map((item) => (_jsx(AmenityRow, { item: item, showIcons: showIcons }, item.name))) }));
|
|
73
|
+
return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("flex flex-col gap-2", className), children: amenities.map((item) => (_jsx(AmenityRow, { item: item, showIcons: showIcons }, item.name))) }));
|
|
74
74
|
}
|
|
75
75
|
//# sourceMappingURL=AmenityList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmenityList.js","sourceRoot":"","sources":["../../src/components/AmenityList.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"AmenityList.js","sourceRoot":"","sources":["../../src/components/AmenityList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
2
|
+
interface BadgeProps extends EditableNodeAttributes {
|
|
2
3
|
label: string;
|
|
3
4
|
variant?: "default" | "success" | "warning" | "info" | "accent";
|
|
4
5
|
size?: "sm" | "md";
|
|
5
6
|
className?: string;
|
|
6
7
|
}
|
|
7
|
-
export declare function Badge({ label, variant, size, className }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function Badge({ label, variant, size, className, "data-node-id": dataNodeId }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
export {};
|
|
9
10
|
//# sourceMappingURL=Badge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":"AAAA,UAAU,UAAU;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,UAAW,SAAQ,sBAAsB;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChE,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAeD,wBAAgB,KAAK,CAAC,EAAE,KAAK,EAAE,OAAmB,EAAE,IAAW,EAAE,SAAc,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,UAAU,2CASxH"}
|
package/dist/components/Badge.js
CHANGED
|
@@ -10,7 +10,7 @@ const SIZE_CLASSES = {
|
|
|
10
10
|
sm: "text-xs px-2 py-0.5",
|
|
11
11
|
md: "text-sm px-2.5 py-1",
|
|
12
12
|
};
|
|
13
|
-
export function Badge({ label, variant = "default", size = "sm", className = "" }) {
|
|
14
|
-
return (_jsx("span", { className: `inline-flex items-center rounded-full font-medium font-[family-name:var(--font-body)] ${VARIANT_CLASSES[variant] ?? VARIANT_CLASSES.default} ${SIZE_CLASSES[size] ?? SIZE_CLASSES.sm} ${className}`, children: label }));
|
|
13
|
+
export function Badge({ label, variant = "default", size = "sm", className = "", "data-node-id": dataNodeId }) {
|
|
14
|
+
return (_jsx("span", { "data-node-id": dataNodeId, className: `inline-flex items-center rounded-full font-medium font-[family-name:var(--font-body)] ${VARIANT_CLASSES[variant] ?? VARIANT_CLASSES.default} ${SIZE_CLASSES[size] ?? SIZE_CLASSES.sm} ${className}`, children: label }));
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=Badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":";AASA,MAAM,eAAe,GAA2B;IAC9C,OAAO,EAAE,2DAA2D;IACpE,OAAO,EAAE,iCAAiC;IAC1C,OAAO,EAAE,6BAA6B;IACtC,IAAI,EAAE,yBAAyB;IAC/B,MAAM,EAAE,0DAA0D;CACnE,CAAC;AAEF,MAAM,YAAY,GAA2B;IAC3C,EAAE,EAAE,qBAAqB;IACzB,EAAE,EAAE,qBAAqB;CAC1B,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,EAAE,IAAI,GAAG,IAAI,EAAE,SAAS,GAAG,EAAE,EAAE,cAAc,EAAE,UAAU,EAAc;IACvH,OAAO,CACL,+BACgB,UAAU,EACxB,SAAS,EAAE,yFAAyF,eAAe,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,EAAE,IAAI,SAAS,EAAE,YAE9M,KAAK,GACD,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
2
|
+
interface ButtonProps extends EditableNodeAttributes {
|
|
2
3
|
content: string;
|
|
3
4
|
variant?: "primary" | "secondary" | "outline" | "ghost";
|
|
4
5
|
size?: "sm" | "md" | "lg";
|
|
@@ -7,6 +8,6 @@ interface ButtonProps {
|
|
|
7
8
|
target?: string;
|
|
8
9
|
className?: string;
|
|
9
10
|
}
|
|
10
|
-
export declare function Button({ content, variant, size, fullWidth, action, target, className, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function Button({ content, variant, size, fullWidth, action, target, className, "data-node-id": dataNodeId, }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
11
12
|
export {};
|
|
12
13
|
//# sourceMappingURL=Button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,WAAY,SAAQ,sBAAsB;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAC;IACxD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD,wBAAgB,MAAM,CAAC,EACrB,OAAO,EACP,OAAmB,EACnB,IAAW,EACX,SAAiB,EACjB,MAAmB,EACnB,MAAM,EACN,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,WAAW,2CAqCb"}
|
|
@@ -13,7 +13,7 @@ const sizeClasses = {
|
|
|
13
13
|
md: "px-6 py-3 text-sm",
|
|
14
14
|
lg: "px-8 py-4 text-base",
|
|
15
15
|
};
|
|
16
|
-
export function Button({ content, variant = "primary", size = "md", fullWidth = false, action = "navigate", target, className, }) {
|
|
16
|
+
export function Button({ content, variant = "primary", size = "md", fullWidth = false, action = "navigate", target, className, "data-node-id": dataNodeId, }) {
|
|
17
17
|
const { openModal } = useModal();
|
|
18
18
|
const nav = useNavigate();
|
|
19
19
|
const handleClick = () => {
|
|
@@ -34,6 +34,6 @@ export function Button({ content, variant = "primary", size = "md", fullWidth =
|
|
|
34
34
|
break;
|
|
35
35
|
}
|
|
36
36
|
};
|
|
37
|
-
return (_jsx("button", { onClick: handleClick, className: twMerge("inline-flex items-center justify-center rounded-[var(--radius)] font-semibold transition-all duration-200 cursor-pointer", variantClasses[variant] ?? variantClasses.primary, sizeClasses[size] ?? sizeClasses.md, fullWidth && "w-full", className), children: content }));
|
|
37
|
+
return (_jsx("button", { "data-node-id": dataNodeId, onClick: handleClick, className: twMerge("inline-flex items-center justify-center rounded-[var(--radius)] font-semibold transition-all duration-200 cursor-pointer", variantClasses[variant] ?? variantClasses.primary, sizeClasses[size] ?? sizeClasses.md, fullWidth && "w-full", className), children: content }));
|
|
38
38
|
}
|
|
39
39
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAa7C,MAAM,cAAc,GAA2B;IAC7C,OAAO,EACL,qFAAqF;IACvF,SAAS,EACP,uFAAuF;IACzF,OAAO,EACL,qHAAqH;IACvH,KAAK,EACH,8EAA8E;CACjF,CAAC;AAEF,MAAM,WAAW,GAA2B;IAC1C,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,qBAAqB;CAC1B,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,EACrB,OAAO,EACP,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,SAAS,GAAG,KAAK,EACjB,MAAM,GAAG,UAAU,EACnB,MAAM,EACN,SAAS,EACT,cAAc,EAAE,UAAU,GACd;IACZ,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC;IACjC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAE1B,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,UAAU;gBACb,GAAG,CAAC,MAAM,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;gBACxE,MAAM;YACR,KAAK,WAAW;gBACd,SAAS,CAAC,MAAM,CAAC,CAAC;gBAClB,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC1C,MAAM;QACV,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,iCACgB,UAAU,EACxB,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,OAAO,CAChB,0HAA0H,EAC1H,cAAc,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EACjD,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,EAAE,EACnC,SAAS,IAAI,QAAQ,EACrB,SAAS,CACV,YAEA,OAAO,GACD,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
2
|
+
interface CTABannerProps extends EditableNodeAttributes {
|
|
2
3
|
/** Background gradient or solid color */
|
|
3
4
|
bg?: string;
|
|
4
5
|
/** Gradient direction for two-color gradients */
|
|
@@ -6,6 +7,6 @@ interface CTABannerProps {
|
|
|
6
7
|
children?: React.ReactNode;
|
|
7
8
|
className?: string;
|
|
8
9
|
}
|
|
9
|
-
export declare function CTABanner({ bg, gradient, children, className, }: CTABannerProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function CTABanner({ bg, gradient, children, className, "data-node-id": dataNodeId, }: CTABannerProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=CTABanner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTABanner.d.ts","sourceRoot":"","sources":["../../src/components/CTABanner.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CTABanner.d.ts","sourceRoot":"","sources":["../../src/components/CTABanner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,cAAe,SAAQ,sBAAsB;IACrD,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,iDAAiD;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,cAAc,2CAuBhB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { twMerge } from "tailwind-merge";
|
|
3
|
-
export function CTABanner({ bg, gradient, children, className, }) {
|
|
3
|
+
export function CTABanner({ bg, gradient, children, className, "data-node-id": dataNodeId, }) {
|
|
4
4
|
const style = {};
|
|
5
5
|
if (gradient) {
|
|
6
6
|
style.background = gradient;
|
|
@@ -12,6 +12,6 @@ export function CTABanner({ bg, gradient, children, className, }) {
|
|
|
12
12
|
style.background =
|
|
13
13
|
"linear-gradient(135deg, var(--color-primary), var(--color-accent, var(--color-primary)))";
|
|
14
14
|
}
|
|
15
|
-
return (_jsx("div", { className: twMerge("w-full py-16 md:py-20 px-4", className), style: style, children: _jsx("div", { className: "max-w-3xl mx-auto text-center", children: children }) }));
|
|
15
|
+
return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("w-full py-16 md:py-20 px-4", className), style: style, children: _jsx("div", { className: "max-w-3xl mx-auto text-center", children: children }) }));
|
|
16
16
|
}
|
|
17
17
|
//# sourceMappingURL=CTABanner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CTABanner.js","sourceRoot":"","sources":["../../src/components/CTABanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CTABanner.js","sourceRoot":"","sources":["../../src/components/CTABanner.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAYzC,MAAM,UAAU,SAAS,CAAC,EACxB,EAAE,EACF,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,cAAc,EAAE,UAAU,GACX;IACf,MAAM,KAAK,GAAwB,EAAE,CAAC;IACtC,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC9B,CAAC;SAAM,IAAI,EAAE,EAAE,CAAC;QACd,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,UAAU;YACd,0FAA0F,CAAC;IAC/F,CAAC;IAED,OAAO,CACL,8BACgB,UAAU,EACxB,SAAS,EAAE,OAAO,CAChB,4BAA4B,EAC5B,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEZ,cAAK,SAAS,EAAC,+BAA+B,YAAE,QAAQ,GAAO,GAC3D,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
2
|
+
interface ContactFormProps extends EditableNodeAttributes {
|
|
2
3
|
propertyId?: string;
|
|
3
4
|
source?: string;
|
|
4
5
|
fields?: string[];
|
|
@@ -6,6 +7,6 @@ interface ContactFormProps {
|
|
|
6
7
|
successMessage?: string;
|
|
7
8
|
className?: string;
|
|
8
9
|
}
|
|
9
|
-
export declare function ContactForm({ propertyId: propertyIdProp, source, fields, submitLabel, successMessage, className, }: ContactFormProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export declare function ContactForm({ propertyId: propertyIdProp, source, fields, submitLabel, successMessage, className, "data-node-id": dataNodeId, }: ContactFormProps): import("react/jsx-runtime").JSX.Element;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=ContactForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactForm.d.ts","sourceRoot":"","sources":["../../src/components/ContactForm.tsx"],"names":[],"mappings":"AAKA,UAAU,
|
|
1
|
+
{"version":3,"file":"ContactForm.d.ts","sourceRoot":"","sources":["../../src/components/ContactForm.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,gBAAiB,SAAQ,sBAAsB;IACvD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwBD,wBAAgB,WAAW,CAAC,EAC1B,UAAU,EAAE,cAAc,EAC1B,MAAkB,EAClB,MAAuB,EACvB,WAAoB,EACpB,cAA6C,EAC7C,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,gBAAgB,2CAqIlB"}
|
|
@@ -3,6 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { twMerge } from "tailwind-merge";
|
|
4
4
|
import { useSiteConfig } from "../hooks/useSiteConfig";
|
|
5
5
|
import { useAuth } from "../hooks/useAuth";
|
|
6
|
+
import { collectUtmParams } from "../utils/utm";
|
|
6
7
|
const DEFAULT_FIELDS = [
|
|
7
8
|
"firstName",
|
|
8
9
|
"lastName",
|
|
@@ -22,7 +23,7 @@ const fieldLabels = {
|
|
|
22
23
|
message: "Message",
|
|
23
24
|
};
|
|
24
25
|
const requiredFields = new Set(["firstName", "lastName", "email", "phone"]);
|
|
25
|
-
export function ContactForm({ propertyId: propertyIdProp, source = "website", fields = DEFAULT_FIELDS, submitLabel = "Send", successMessage = "Thanks! We'll be in touch.", className, }) {
|
|
26
|
+
export function ContactForm({ propertyId: propertyIdProp, source = "website", fields = DEFAULT_FIELDS, submitLabel = "Send", successMessage = "Thanks! We'll be in touch.", className, "data-node-id": dataNodeId, }) {
|
|
26
27
|
const config = useSiteConfig();
|
|
27
28
|
const { authenticatedFetch } = useAuth();
|
|
28
29
|
const propertyId = propertyIdProp ?? config.property?.propertyId;
|
|
@@ -54,7 +55,9 @@ export function ContactForm({ propertyId: propertyIdProp, source = "website", fi
|
|
|
54
55
|
body.move_in_date = values.moveInDate;
|
|
55
56
|
if (values.bedrooms)
|
|
56
57
|
body.bedrooms = Number(values.bedrooms);
|
|
57
|
-
|
|
58
|
+
if (values.message)
|
|
59
|
+
body.message = values.message;
|
|
60
|
+
Object.assign(body, collectUtmParams());
|
|
58
61
|
const res = await authenticatedFetch(`${apiBaseUrl}/v1/prospect`, {
|
|
59
62
|
method: "POST",
|
|
60
63
|
headers: { "Content-Type": "application/json" },
|
|
@@ -70,9 +73,9 @@ export function ContactForm({ propertyId: propertyIdProp, source = "website", fi
|
|
|
70
73
|
}
|
|
71
74
|
};
|
|
72
75
|
if (status === "success") {
|
|
73
|
-
return (_jsx("div", { className: twMerge("text-center py-8", className), children: _jsx("p", { className: "text-[var(--color-primary)] font-medium", children: successMessage }) }));
|
|
76
|
+
return (_jsx("div", { "data-node-id": dataNodeId, className: twMerge("text-center py-8", className), children: _jsx("p", { className: "text-[var(--color-primary)] font-medium", children: successMessage }) }));
|
|
74
77
|
}
|
|
75
|
-
return (_jsxs("form", { onSubmit: handleSubmit, className: twMerge("flex flex-col gap-4", className), children: [fields.map((field) => {
|
|
78
|
+
return (_jsxs("form", { "data-node-id": dataNodeId, onSubmit: handleSubmit, className: twMerge("flex flex-col gap-4", className), children: [fields.map((field) => {
|
|
76
79
|
const label = fieldLabels[field] ?? field;
|
|
77
80
|
const isRequired = requiredFields.has(field);
|
|
78
81
|
if (field === "bedrooms") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactForm.js","sourceRoot":"","sources":["../../src/components/ContactForm.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"ContactForm.js","sourceRoot":"","sources":["../../src/components/ContactForm.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
import type { EditableNodeAttributes } from "../types";
|
|
2
|
+
interface ContainerProps extends EditableNodeAttributes {
|
|
2
3
|
id?: string;
|
|
3
4
|
bg?: string;
|
|
4
5
|
/** Background image URL — rendered behind content with optional overlay */
|
|
@@ -11,6 +12,6 @@ interface ContainerProps {
|
|
|
11
12
|
children?: React.ReactNode;
|
|
12
13
|
className?: string;
|
|
13
14
|
}
|
|
14
|
-
export declare function Container({ id, bg, bgImage, bgOverlay, padding, maxWidth, children, className, }: ContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export declare function Container({ id, bg, bgImage, bgOverlay, padding, maxWidth, children, className, "data-node-id": dataNodeId, }: ContainerProps): import("react/jsx-runtime").JSX.Element;
|
|
15
16
|
export {};
|
|
16
17
|
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAEvD,UAAU,cAAe,SAAQ,sBAAsB;IACrD,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC;IACrD,8FAA8F;IAC9F,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAgB,SAAS,CAAC,EACxB,EAAE,EACF,EAAE,EACF,OAAO,EACP,SAAS,EACT,OAAc,EACd,QAAoB,EACpB,QAAQ,EACR,SAAS,EACT,cAAc,EAAE,UAAU,GAC3B,EAAE,cAAc,2CAqChB"}
|