@plusscommunities/pluss-feature-builder-app-d 1.0.3-beta.2 → 8.0.1-auth.0
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/module/actions/featureBuilderActions.js +8 -4
- package/dist/module/actions/featureBuilderActions.js.map +1 -1
- package/dist/module/actions/featureBuilderStringsActions.js +4 -6
- package/dist/module/actions/featureBuilderStringsActions.js.map +1 -1
- package/dist/module/actions/index.js +0 -2
- package/dist/module/actions/index.js.map +1 -1
- package/dist/module/actions/types.js +0 -2
- package/dist/module/actions/types.js.map +1 -1
- package/dist/module/components/FeatureDetailScreen.js +324 -355
- package/dist/module/components/FeatureDetailScreen.js.map +1 -1
- package/dist/module/components/FeatureListItem.js +38 -47
- package/dist/module/components/FeatureListItem.js.map +1 -1
- package/dist/module/components/FeatureListScreen.js +123 -94
- package/dist/module/components/FeatureListScreen.js.map +1 -1
- package/dist/module/components/FieldRenderer.js +76 -91
- package/dist/module/components/FieldRenderer.js.map +1 -1
- package/dist/module/components/FileDownload.js +23 -30
- package/dist/module/components/FileDownload.js.map +1 -1
- package/dist/module/components/WidgetGrid.js +51 -56
- package/dist/module/components/WidgetGrid.js.map +1 -1
- package/dist/module/components/WidgetLarge.js +109 -111
- package/dist/module/components/WidgetLarge.js.map +1 -1
- package/dist/module/components/WidgetSmall.js +107 -109
- package/dist/module/components/WidgetSmall.js.map +1 -1
- package/dist/module/components/common/index.js +1 -2
- package/dist/module/components/common/index.js.map +1 -1
- package/dist/module/components/layouts/CondensedList.js +64 -75
- package/dist/module/components/layouts/CondensedList.js.map +1 -1
- package/dist/module/components/layouts/FeatureImageList.js +50 -60
- package/dist/module/components/layouts/FeatureImageList.js.map +1 -1
- package/dist/module/components/layouts/RoundImageList.js +53 -62
- package/dist/module/components/layouts/RoundImageList.js.map +1 -1
- package/dist/module/components/layouts/SquareImageList.js +53 -62
- package/dist/module/components/layouts/SquareImageList.js.map +1 -1
- package/dist/module/config/index.js +0 -2
- package/dist/module/config/index.js.map +1 -1
- package/dist/module/core.config.js +1 -4
- package/dist/module/core.config.js.map +1 -1
- package/dist/module/feature.config.js +9 -8
- package/dist/module/feature.config.js.map +1 -1
- package/dist/module/index.js +0 -2
- package/dist/module/index.js.map +1 -1
- package/dist/module/js/Colors.js +0 -2
- package/dist/module/js/Colors.js.map +1 -1
- package/dist/module/js/FieldTypes.js +0 -2
- package/dist/module/js/FieldTypes.js.map +1 -1
- package/dist/module/js/NavigationService.js +0 -2
- package/dist/module/js/NavigationService.js.map +1 -1
- package/dist/module/js/Styles.js +0 -2
- package/dist/module/js/Styles.js.map +1 -1
- package/dist/module/js/helpers.js +7 -6
- package/dist/module/js/helpers.js.map +1 -1
- package/dist/module/js/index.js +0 -2
- package/dist/module/js/index.js.map +1 -1
- package/dist/module/js/spacing.js +0 -2
- package/dist/module/js/spacing.js.map +1 -1
- package/dist/module/js/types.js +0 -2
- package/dist/module/js/types.js.map +1 -1
- package/dist/module/reducers/featureBuilderReducer.js +0 -2
- package/dist/module/reducers/featureBuilderReducer.js.map +1 -1
- package/dist/module/utils/featureSelectors.js +0 -2
- package/dist/module/utils/featureSelectors.js.map +1 -1
- package/dist/module/utils/selectors.js +13 -9
- package/dist/module/utils/selectors.js.map +1 -1
- package/dist/module/values.config.a.js +0 -2
- package/dist/module/values.config.a.js.map +1 -1
- package/dist/module/values.config.b.js +0 -2
- package/dist/module/values.config.b.js.map +1 -1
- package/dist/module/values.config.c.js +0 -2
- package/dist/module/values.config.c.js.map +1 -1
- package/dist/module/values.config.d.js +0 -2
- package/dist/module/values.config.d.js.map +1 -1
- package/dist/module/values.config.default.js +2 -4
- package/dist/module/values.config.default.js.map +1 -1
- package/dist/module/values.config.js +0 -2
- package/dist/module/values.config.js.map +1 -1
- package/dist/module/webapi/featureBuilderAPI.js +0 -2
- package/dist/module/webapi/featureBuilderAPI.js.map +1 -1
- package/dist/module/webapi/helper.js +0 -2
- package/dist/module/webapi/helper.js.map +1 -1
- package/dist/module/webapi/index.js +0 -2
- package/dist/module/webapi/index.js.map +1 -1
- package/package.json +19 -14
- package/src/actions/featureBuilderActions.js +10 -2
- package/src/components/FeatureDetailScreen.js +2 -2
- package/src/components/FeatureListItem.js +2 -2
- package/src/components/FeatureListScreen.js +87 -61
- package/src/components/FieldRenderer.js +3 -8
- package/src/components/FileDownload.js +2 -2
- package/src/components/WidgetGrid.js +2 -1
- package/src/components/WidgetLarge.js +36 -28
- package/src/components/WidgetSmall.js +34 -26
- package/src/components/common/index.js +1 -0
- package/src/components/layouts/CondensedList.js +4 -3
- package/src/components/layouts/FeatureImageList.js +4 -3
- package/src/components/layouts/RoundImageList.js +4 -3
- package/src/components/layouts/SquareImageList.js +4 -3
- package/src/core.config.js +0 -2
- package/src/values.config.default.js +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","Image","StyleSheet","TouchableOpacity","FlatList","FontAwesome","Components","values","SPACING","getSummaryFieldValue","jsx","_jsx","jsxs","_jsxs","getEmptyStateMessage","title","featureName","RoundImageList","listings","onItemPress","colourBrandingMain","refreshing","onRefresh","featureDefinition","getImageSource","imageField","uri","url","renderListingItem","item","listing","fields","mandatoryFields","summary","featureImage","imageSource","style","styles","cardContainer","onPress","children","borderContainer","source","roundImage","placeholderImage","contentContainer","textContainer","titleText","numberOfLines","descriptionText","chevronContainer","name","size","color","chevron","length","emptyContainer","EmptyStateWidget","height","container","LoadingIndicator","visible","data","keyExtractor","id","renderItem","contentContainerStyle","scrollContainer","showsVerticalScrollIndicator","create","flex","paddingLeft","XL","paddingRight","MD","paddingVertical","SM","paddingHorizontal","borderRadius","backgroundColor","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","position","minHeight","justifyContent","borderWidth","borderColor","left","top","marginTop","alignItems","flexDirection","fontSize","fontFamily","marginBottom","XS","lineHeight","padding","opacity"],"sourceRoot":"../../../../src","sources":["components/layouts/RoundImageList.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACCC,IAAI,EACJC,IAAI,EACJC,KAAK,EACLC,UAAU,EACVC,gBAAgB,EAChBC,QAAQ,QACF,cAAc;AACrB,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,UAAU,QAAQ,mBAAmB;AAC9C,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,oBAAoB,QAAQ,kBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAExD,MAAMC,oBAAoB,GAAIC,KAAK,IAAK;EACvC,MAAMC,WAAW,GAAGD,KAAK,IAAI,SAAS;EACtC,OAAO,GAAGC,WAAW,uFAAuF;AAC7G,CAAC;AAED,MAAMC,cAAc,GAAGA,CAAC;EACvBC,QAAQ;EACRC,WAAW;EACXC,kBAAkB;EAClBC,UAAU;EACVC,SAAS;EACTP,KAAK;EACLQ;AACD,CAAC,KAAK;EACL,MAAMC,cAAc,GAAIC,UAAU,IAAK;IACtC,IAAI,CAACA,UAAU,EAAE;MAChB,OAAO,IAAI;IACZ;;IAEA;IACA,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;MACnC,OAAO;QAAEC,GAAG,EAAED;MAAW,CAAC;IAC3B;IAEA,IAAI,OAAOA,UAAU,KAAK,QAAQ,IAAIA,UAAU,CAACC,GAAG,EAAE;MACrD,OAAOD,UAAU;IAClB;IAEA,IAAI,OAAOA,UAAU,KAAK,QAAQ,IAAIA,UAAU,CAACE,GAAG,EAAE;MACrD,OAAO;QAAED,GAAG,EAAED,UAAU,CAACE;MAAI,CAAC;IAC/B;IAEA,OAAO,IAAI;EACZ,CAAC;EAED,MAAMC,iBAAiB,GAAGA,CAAC;IAAEC,IAAI,EAAEC;EAAQ,CAAC,KAAK;IAChD,MAAMf,KAAK,GAAGe,OAAO,CAACC,MAAM,GAAGxB,MAAM,CAACyB,eAAe,CAACjB,KAAK,CAAC,IAAI,UAAU;IAC1E,MAAMkB,OAAO,GAAGxB,oBAAoB,CAACqB,OAAO,EAAEP,iBAAiB,CAAC;IAChE,MAAME,UAAU,GAAGK,OAAO,CAACC,MAAM,GAAGxB,MAAM,CAACyB,eAAe,CAACE,YAAY,CAAC;IAExE,MAAMC,WAAW,GAAGX,cAAc,CAACC,UAAU,CAAC;IAC9C,oBACCd,IAAA,CAACR,gBAAgB;MAChBiC,KAAK,EAAEC,MAAM,CAACC,aAAc;MAC5BC,OAAO,EAAEA,CAAA,KAAMpB,WAAW,IAAIA,WAAW,CAACW,OAAO,CAAE;MAAAU,QAAA,eAEnD3B,KAAA,CAACd,IAAI;QAACqC,KAAK,EAAEC,MAAM,CAACI,eAAgB;QAAAD,QAAA,GAClCL,WAAW,gBACXxB,IAAA,CAACV,KAAK;UAACyC,MAAM,EAAEP,WAAY;UAACC,KAAK,EAAEC,MAAM,CAACM;QAAW,CAAE,CAAC,gBAExDhC,IAAA,CAACZ,IAAI;UAACqC,KAAK,EAAE,CAACC,MAAM,CAACM,UAAU,EAAEN,MAAM,CAACO,gBAAgB;QAAE,CAAO,CACjE,eACD/B,KAAA,CAACd,IAAI;UAACqC,KAAK,EAAEC,MAAM,CAACQ,gBAAiB;UAAAL,QAAA,gBACpC3B,KAAA,CAACd,IAAI;YAACqC,KAAK,EAAEC,MAAM,CAACS,aAAc;YAAAN,QAAA,gBACjC7B,IAAA,CAACX,IAAI;cAACoC,KAAK,EAAEC,MAAM,CAACU,SAAU;cAACC,aAAa,EAAE,CAAE;cAAAR,QAAA,EAC9CzB;YAAK,CACD,CAAC,eACPJ,IAAA,CAACX,IAAI;cAACoC,KAAK,EAAEC,MAAM,CAACY,eAAgB;cAACD,aAAa,EAAE,CAAE;cAAAR,QAAA,EACpDP;YAAO,CACH,CAAC;UAAA,CACF,CAAC,eACPtB,IAAA,CAACZ,IAAI;YAACqC,KAAK,EAAEC,MAAM,CAACa,gBAAiB;YAAAV,QAAA,eACpC7B,IAAA,CAACN,WAAW;cACX8C,IAAI,EAAC,eAAe;cACpBC,IAAI,EAAE,EAAG;cACTC,KAAK,EAAC,MAAM;cACZjB,KAAK,EAAEC,MAAM,CAACiB;YAAQ,CACtB;UAAC,CACG,CAAC;QAAA,CACF,CAAC;MAAA,CACF;IAAC,CACU,CAAC;EAErB,CAAC;EAED,IAAI,CAACpC,QAAQ,IAAIA,QAAQ,CAACqC,MAAM,KAAK,CAAC,EAAE;IACvC,oBACC5C,IAAA,CAACZ,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACmB,cAAe;MAAAhB,QAAA,eAClC7B,IAAA,CAACL,UAAU,CAACmD,gBAAgB;QAC3B1C,KAAK,EAAED,oBAAoB,CAACC,KAAK,CAAE;QACnC2C,MAAM,EAAE;MAAI,CACZ;IAAC,CACG,CAAC;EAET;EAEA,IAAIpC,SAAS,EAAE;IACd,oBACCT,KAAA,CAACd,IAAI;MAACqC,KAAK,EAAEC,MAAM,CAACsB,SAAU;MAAAnB,QAAA,gBAC7B7B,IAAA,CAACL,UAAU,CAACsD,gBAAgB;QAACC,OAAO,EAAExC;MAAW,CAAE,CAAC,eACpDV,IAAA,CAACP,QAAQ;QACR0D,IAAI,EAAE5C,QAAS;QACf6C,YAAY,EAAGlC,IAAI,IAAKA,IAAI,CAACmC,EAAG;QAChCC,UAAU,EAAErC,iBAAkB;QAC9BsC,qBAAqB,EAAE7B,MAAM,CAAC8B,eAAgB;QAC9CC,4BAA4B,EAAE;MAAM,CACpC,CAAC;IAAA,CACG,CAAC;EAET;EAEA,oBACCzD,IAAA,CAACP,QAAQ;IACR0D,IAAI,EAAE5C,QAAS;IACf6C,YAAY,EAAGlC,IAAI,IAAKA,IAAI,CAACmC,EAAG;IAChCC,UAAU,EAAErC,iBAAkB;IAC9BsC,qBAAqB,EAAE7B,MAAM,CAAC8B,eAAgB;IAC9CC,4BAA4B,EAAE;EAAM,CACpC,CAAC;AAEJ,CAAC;AAED,MAAM/B,MAAM,GAAGnC,UAAU,CAACmE,MAAM,CAAC;EAChCV,SAAS,EAAE;IACVW,IAAI,EAAE;EACP,CAAC;EACDH,eAAe,EAAE;IAChBI,WAAW,EAAE/D,OAAO,CAACgE,EAAE,GAAG,EAAE;IAC5BC,YAAY,EAAEjE,OAAO,CAACkE,EAAE;IACxBC,eAAe,EAAEnE,OAAO,CAACoE;EAC1B,CAAC;EACDtC,aAAa,EAAE;IACduC,iBAAiB,EAAErE,OAAO,CAACoE,EAAE,GAAG,CAAC;IACjCD,eAAe,EAAEnE,OAAO,CAACoE;EAC1B,CAAC;EACDnC,eAAe,EAAE;IAChBqC,YAAY,EAAEtE,OAAO,CAACoE,EAAE,GAAG,CAAC;IAC5BG,eAAe,EAAE,SAAS;IAC1BC,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MACbC,KAAK,EAAE,CAAC;MACRxB,MAAM,EAAE;IACT,CAAC;IACDyB,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,IAAI;IAClBC,SAAS,EAAE,CAAC;IACZC,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,GAAG;IACdC,cAAc,EAAE,QAAQ;IACxBjB,WAAW,EAAE/D,OAAO,CAACgE,EAAE,GAAG,CAAC;IAC3BC,YAAY,EAAEjE,OAAO,CAACoE;EACvB,CAAC;EACDjC,UAAU,EAAE;IACXuC,KAAK,EAAE,EAAE;IACTxB,MAAM,EAAE,EAAE;IACVoB,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,SAAS;IAC1BO,QAAQ,EAAE,UAAU;IACpBG,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE,MAAM;IACnBC,IAAI,EAAE,CAAC,EAAE;IACTC,GAAG,EAAE,KAAK;IACVC,SAAS,EAAE,CAAC,EAAE;IACdb,WAAW,EAAE,MAAM;IACnBC,YAAY,EAAE;MACbC,KAAK,EAAE,CAAC;MACRxB,MAAM,EAAE;IACT,CAAC;IACDyB,aAAa,EAAE,GAAG;IAClBC,YAAY,EAAE,IAAI;IAClBC,SAAS,EAAE;EACZ,CAAC;EACDzC,gBAAgB,EAAE;IACjBmC,eAAe,EAAE,SAAS;IAC1BS,cAAc,EAAE,QAAQ;IACxBM,UAAU,EAAE;EACb,CAAC;EACDjD,gBAAgB,EAAE;IACjByB,IAAI,EAAE,CAAC;IACPyB,aAAa,EAAE,KAAK;IACpBD,UAAU,EAAE;EACb,CAAC;EACDhD,aAAa,EAAE;IACdwB,IAAI,EAAE,CAAC;IACPC,WAAW,EAAE/D,OAAO,CAACkE,EAAE;IACvBC,eAAe,EAAEnE,OAAO,CAACoE,EAAE,GAAG;EAC/B,CAAC;EACD7B,SAAS,EAAE;IACViD,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,WAAW;IACvB5C,KAAK,EAAE,MAAM;IACb6C,YAAY,EAAE1F,OAAO,CAAC2F;EACvB,CAAC;EACDlD,eAAe,EAAE;IAChBgD,UAAU,EAAE,YAAY;IACxBD,QAAQ,EAAE,EAAE;IACZ3C,KAAK,EAAE,MAAM;IACb+C,UAAU,EAAE;EACb,CAAC;EACD5C,cAAc,EAAE;IACfc,IAAI,EAAE,CAAC;IACPkB,cAAc,EAAE,QAAQ;IACxBM,UAAU,EAAE,QAAQ;IACpBO,OAAO,EAAE;EACV,CAAC;EACDnD,gBAAgB,EAAE;IACjBsC,cAAc,EAAE,QAAQ;IACxBX,iBAAiB,EAAErE,OAAO,CAACoE;EAC5B,CAAC;EACDtB,OAAO,EAAE;IACRgD,OAAO,EAAE;EACV;AACD,CAAC,CAAC;AAEF,eAAerF,cAAc","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","Image","StyleSheet","TouchableOpacity","FlatList","FontAwesome","Components","values","SPACING","getSummaryFieldValue","getEmptyStateMessage","title","featureName","RoundImageList","listings","onItemPress","colourBrandingMain","refreshing","onRefresh","featureDefinition","isWidget","getImageSource","imageField","uri","url","renderListingItem","item","listing","_listing$fields","_listing$fields2","fields","mandatoryFields","summary","featureImage","imageSource","createElement","style","styles","cardContainer","onPress","borderContainer","source","roundImage","placeholderImage","contentContainer","textContainer","titleText","numberOfLines","descriptionText","chevronContainer","name","size","color","chevron","length","emptyContainer","EmptyStateWidget","height","container","LoadingIndicator","visible","data","keyExtractor","id","renderItem","contentContainerStyle","scrollContainer","showsVerticalScrollIndicator","create","flex","paddingLeft","XL","paddingRight","MD","paddingVertical","SM","paddingHorizontal","borderRadius","backgroundColor","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","elevation","position","minHeight","justifyContent","borderWidth","borderColor","left","top","marginTop","alignItems","flexDirection","fontSize","fontFamily","marginBottom","XS","lineHeight","padding","opacity"],"sources":["RoundImageList.js"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tImage,\n\tStyleSheet,\n\tTouchableOpacity,\n\tFlatList,\n} from \"react-native\";\nimport { FontAwesome } from \"../common\";\nimport { Components } from \"../../core.config\";\nimport { values } from \"../../values.config\";\nimport { SPACING } from \"../../js/spacing\";\nimport { getSummaryFieldValue } from \"../../js/helpers\";\n\nconst getEmptyStateMessage = (title) => {\n\tconst featureName = title || \"Feature\";\n\treturn `${featureName} listings will appear here once they're available.\\nCome back soon to see what's new!`;\n};\n\nconst RoundImageList = ({\n\tlistings,\n\tonItemPress,\n\tcolourBrandingMain,\n\trefreshing,\n\tonRefresh,\n\ttitle,\n\tfeatureDefinition,\n\tisWidget,\n}) => {\n\tconst getImageSource = (imageField) => {\n\t\tif (!imageField) {\n\t\t\treturn null;\n\t\t}\n\n\t\t// Handle different image field formats\n\t\tif (typeof imageField === \"string\") {\n\t\t\treturn { uri: imageField };\n\t\t}\n\n\t\tif (typeof imageField === \"object\" && imageField.uri) {\n\t\t\treturn imageField;\n\t\t}\n\n\t\tif (typeof imageField === \"object\" && imageField.url) {\n\t\t\treturn { uri: imageField.url };\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tconst renderListingItem = ({ item: listing }) => {\n\t\tconst title = listing.fields?.[values.mandatoryFields.title] || \"Untitled\";\n\t\tconst summary = getSummaryFieldValue(listing, featureDefinition);\n\t\tconst imageField = listing.fields?.[values.mandatoryFields.featureImage];\n\n\t\tconst imageSource = getImageSource(imageField);\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={styles.cardContainer}\n\t\t\t\tonPress={() => onItemPress && onItemPress(listing)}\n\t\t\t>\n\t\t\t\t<View style={styles.borderContainer}>\n\t\t\t\t\t{imageSource ? (\n\t\t\t\t\t\t<Image source={imageSource} style={styles.roundImage} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<View style={[styles.roundImage, styles.placeholderImage]}></View>\n\t\t\t\t\t)}\n\t\t\t\t\t<View style={styles.contentContainer}>\n\t\t\t\t\t\t<View style={styles.textContainer}>\n\t\t\t\t\t\t\t<Text style={styles.titleText} numberOfLines={1}>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text style={styles.descriptionText} numberOfLines={2}>\n\t\t\t\t\t\t\t\t{summary}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<View style={styles.chevronContainer}>\n\t\t\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\t\t\tname=\"chevron-right\"\n\t\t\t\t\t\t\t\tsize={16}\n\t\t\t\t\t\t\t\tcolor=\"#ccc\"\n\t\t\t\t\t\t\t\tstyle={styles.chevron}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t};\n\n\tif (!listings || listings.length === 0) {\n\t\treturn (\n\t\t\t<View style={styles.emptyContainer}>\n\t\t\t\t<Components.EmptyStateWidget\n\t\t\t\t\ttitle={getEmptyStateMessage(title)}\n\t\t\t\t\theight={120}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tif (onRefresh) {\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t{!isWidget && <Components.LoadingIndicator visible={refreshing} />}\n\t\t\t\t<FlatList\n\t\t\t\t\tdata={listings}\n\t\t\t\t\tkeyExtractor={(item) => item.id}\n\t\t\t\t\trenderItem={renderListingItem}\n\t\t\t\t\tcontentContainerStyle={styles.scrollContainer}\n\t\t\t\t\tshowsVerticalScrollIndicator={false}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<FlatList\n\t\t\tdata={listings}\n\t\t\tkeyExtractor={(item) => item.id}\n\t\t\trenderItem={renderListingItem}\n\t\t\tcontentContainerStyle={styles.scrollContainer}\n\t\t\tshowsVerticalScrollIndicator={false}\n\t\t/>\n\t);\n};\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\tflex: 1,\n\t},\n\tscrollContainer: {\n\t\tpaddingLeft: SPACING.XL + 16,\n\t\tpaddingRight: SPACING.MD,\n\t\tpaddingVertical: SPACING.SM,\n\t},\n\tcardContainer: {\n\t\tpaddingHorizontal: SPACING.SM + 2,\n\t\tpaddingVertical: SPACING.SM,\n\t},\n\tborderContainer: {\n\t\tborderRadius: SPACING.SM * 1,\n\t\tbackgroundColor: \"#ffffff\",\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: {\n\t\t\twidth: 0,\n\t\t\theight: 2,\n\t\t},\n\t\tshadowOpacity: 0.1,\n\t\tshadowRadius: 3.84,\n\t\televation: 5,\n\t\tposition: \"relative\",\n\t\tminHeight: 100,\n\t\tjustifyContent: \"center\",\n\t\tpaddingLeft: SPACING.XL + 8,\n\t\tpaddingRight: SPACING.SM,\n\t},\n\troundImage: {\n\t\twidth: 88,\n\t\theight: 88,\n\t\tborderRadius: 44,\n\t\tbackgroundColor: \"#f0f0f0\",\n\t\tposition: \"absolute\",\n\t\tborderWidth: 2,\n\t\tborderColor: \"#fff\",\n\t\tleft: -44,\n\t\ttop: \"50%\",\n\t\tmarginTop: -44,\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: {\n\t\t\twidth: 0,\n\t\t\theight: 2,\n\t\t},\n\t\tshadowOpacity: 0.1,\n\t\tshadowRadius: 3.84,\n\t\televation: 6,\n\t},\n\tplaceholderImage: {\n\t\tbackgroundColor: \"#808080\",\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t},\n\tcontentContainer: {\n\t\tflex: 1,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\ttextContainer: {\n\t\tflex: 1,\n\t\tpaddingLeft: SPACING.MD,\n\t\tpaddingVertical: SPACING.SM + 4,\n\t},\n\ttitleText: {\n\t\tfontSize: 20,\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: \"#333\",\n\t\tmarginBottom: SPACING.XS,\n\t},\n\tdescriptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 14,\n\t\tcolor: \"#666\",\n\t\tlineHeight: 18,\n\t},\n\temptyContainer: {\n\t\tflex: 1,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tpadding: 32,\n\t},\n\tchevronContainer: {\n\t\tjustifyContent: \"center\",\n\t\tpaddingHorizontal: SPACING.SM,\n\t},\n\tchevron: {\n\t\topacity: 0.6,\n\t},\n});\n\nexport default RoundImageList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
import React from "react";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { Text } from "@plusscommunities/pluss-core-app/components";
|
|
3
|
+
import { View, Image, StyleSheet, TouchableOpacity, FlatList } from "react-native";
|
|
4
|
+
import { FontAwesome } from "../common";
|
|
6
5
|
import { Components } from "../../core.config";
|
|
7
6
|
import { values } from "../../values.config";
|
|
8
7
|
import { SPACING } from "../../js/spacing";
|
|
9
8
|
import { getSummaryFieldValue } from "../../js/helpers";
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
9
|
const getEmptyStateMessage = title => {
|
|
12
10
|
const featureName = title || "Feature";
|
|
13
11
|
return `${featureName} listings will appear here once they're available.\nCome back soon to see what's new!`;
|
|
@@ -19,7 +17,8 @@ const SquareImageList = ({
|
|
|
19
17
|
refreshing,
|
|
20
18
|
onRefresh,
|
|
21
19
|
title,
|
|
22
|
-
featureDefinition
|
|
20
|
+
featureDefinition,
|
|
21
|
+
isWidget
|
|
23
22
|
}) => {
|
|
24
23
|
const getImageSource = imageField => {
|
|
25
24
|
if (!imageField) return null;
|
|
@@ -43,70 +42,62 @@ const SquareImageList = ({
|
|
|
43
42
|
const renderListingItem = ({
|
|
44
43
|
item: listing
|
|
45
44
|
}) => {
|
|
46
|
-
|
|
45
|
+
var _listing$fields, _listing$fields2;
|
|
46
|
+
const title = ((_listing$fields = listing.fields) === null || _listing$fields === void 0 ? void 0 : _listing$fields[values.mandatoryFields.title]) || "Untitled";
|
|
47
47
|
const summary = getSummaryFieldValue(listing, featureDefinition);
|
|
48
|
-
const imageField = listing.fields
|
|
48
|
+
const imageField = (_listing$fields2 = listing.fields) === null || _listing$fields2 === void 0 ? void 0 : _listing$fields2[values.mandatoryFields.featureImage];
|
|
49
49
|
const imageSource = getImageSource(imageField);
|
|
50
|
-
return /*#__PURE__*/
|
|
50
|
+
return /*#__PURE__*/React.createElement(TouchableOpacity, {
|
|
51
51
|
style: styles.cardContainer,
|
|
52
|
-
onPress: () => onItemPress && onItemPress(listing)
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
color: "#ccc",
|
|
79
|
-
style: styles.chevron
|
|
80
|
-
})
|
|
81
|
-
})]
|
|
82
|
-
})]
|
|
83
|
-
})
|
|
84
|
-
});
|
|
52
|
+
onPress: () => onItemPress && onItemPress(listing)
|
|
53
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
54
|
+
style: styles.borderContainer
|
|
55
|
+
}, imageSource ? /*#__PURE__*/React.createElement(Image, {
|
|
56
|
+
source: imageSource,
|
|
57
|
+
style: styles.squareImage
|
|
58
|
+
}) : /*#__PURE__*/React.createElement(View, {
|
|
59
|
+
style: [styles.squareImage, styles.placeholderImage]
|
|
60
|
+
}), /*#__PURE__*/React.createElement(View, {
|
|
61
|
+
style: styles.contentContainer
|
|
62
|
+
}, /*#__PURE__*/React.createElement(View, {
|
|
63
|
+
style: styles.textContainer
|
|
64
|
+
}, /*#__PURE__*/React.createElement(Text, {
|
|
65
|
+
style: styles.titleText,
|
|
66
|
+
numberOfLines: 1
|
|
67
|
+
}, title), /*#__PURE__*/React.createElement(Text, {
|
|
68
|
+
style: styles.descriptionText,
|
|
69
|
+
numberOfLines: 2
|
|
70
|
+
}, summary)), /*#__PURE__*/React.createElement(View, {
|
|
71
|
+
style: styles.chevronContainer
|
|
72
|
+
}, /*#__PURE__*/React.createElement(FontAwesome, {
|
|
73
|
+
name: "chevron-right",
|
|
74
|
+
size: 16,
|
|
75
|
+
color: "#ccc",
|
|
76
|
+
style: styles.chevron
|
|
77
|
+
})))));
|
|
85
78
|
};
|
|
86
79
|
if (!listings || listings.length === 0) {
|
|
87
|
-
return /*#__PURE__*/
|
|
88
|
-
style: styles.emptyContainer
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
});
|
|
80
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
81
|
+
style: styles.emptyContainer
|
|
82
|
+
}, /*#__PURE__*/React.createElement(Components.EmptyStateWidget, {
|
|
83
|
+
title: getEmptyStateMessage(title),
|
|
84
|
+
height: 120
|
|
85
|
+
}));
|
|
94
86
|
}
|
|
95
87
|
if (onRefresh) {
|
|
96
|
-
return /*#__PURE__*/
|
|
97
|
-
style: styles.container
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
});
|
|
88
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
89
|
+
style: styles.container
|
|
90
|
+
}, !isWidget && /*#__PURE__*/React.createElement(Components.LoadingIndicator, {
|
|
91
|
+
visible: refreshing
|
|
92
|
+
}), /*#__PURE__*/React.createElement(FlatList, {
|
|
93
|
+
data: listings,
|
|
94
|
+
keyExtractor: item => item.id,
|
|
95
|
+
renderItem: renderListingItem,
|
|
96
|
+
contentContainerStyle: styles.scrollContainer,
|
|
97
|
+
showsVerticalScrollIndicator: false
|
|
98
|
+
}));
|
|
108
99
|
}
|
|
109
|
-
return /*#__PURE__*/
|
|
100
|
+
return /*#__PURE__*/React.createElement(FlatList, {
|
|
110
101
|
data: listings,
|
|
111
102
|
keyExtractor: item => item.id,
|
|
112
103
|
renderItem: renderListingItem,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","Text","Image","StyleSheet","TouchableOpacity","FlatList","FontAwesome","Components","values","SPACING","getSummaryFieldValue","jsx","_jsx","jsxs","_jsxs","getEmptyStateMessage","title","featureName","SquareImageList","listings","onItemPress","colourBrandingMain","refreshing","onRefresh","featureDefinition","getImageSource","imageField","uri","url","renderListingItem","item","listing","fields","mandatoryFields","summary","featureImage","imageSource","style","styles","cardContainer","onPress","children","borderContainer","source","squareImage","placeholderImage","contentContainer","textContainer","titleText","numberOfLines","descriptionText","chevronContainer","name","size","color","chevron","length","emptyContainer","EmptyStateWidget","height","container","LoadingIndicator","visible","data","keyExtractor","id","renderItem","contentContainerStyle","scrollContainer","showsVerticalScrollIndicator","create","flex","paddingHorizontal","MD","paddingVertical","marginBottom","backgroundColor","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","borderRadius","XS","elevation","flexDirection","alignItems","overflow","minHeight","paddingRight","SM","aspectRatio","marginRight","justifyContent","fontSize","fontFamily","lineHeight","padding","opacity"],"sourceRoot":"../../../../src","sources":["components/layouts/SquareImageList.js"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","Text","View","Image","StyleSheet","TouchableOpacity","FlatList","FontAwesome","Components","values","SPACING","getSummaryFieldValue","getEmptyStateMessage","title","featureName","SquareImageList","listings","onItemPress","colourBrandingMain","refreshing","onRefresh","featureDefinition","isWidget","getImageSource","imageField","uri","url","renderListingItem","item","listing","_listing$fields","_listing$fields2","fields","mandatoryFields","summary","featureImage","imageSource","createElement","style","styles","cardContainer","onPress","borderContainer","source","squareImage","placeholderImage","contentContainer","textContainer","titleText","numberOfLines","descriptionText","chevronContainer","name","size","color","chevron","length","emptyContainer","EmptyStateWidget","height","container","LoadingIndicator","visible","data","keyExtractor","id","renderItem","contentContainerStyle","scrollContainer","showsVerticalScrollIndicator","create","flex","paddingHorizontal","MD","paddingVertical","marginBottom","backgroundColor","shadowColor","shadowOffset","width","shadowOpacity","shadowRadius","borderRadius","XS","elevation","flexDirection","alignItems","overflow","minHeight","paddingRight","SM","aspectRatio","marginRight","justifyContent","fontSize","fontFamily","lineHeight","padding","opacity"],"sources":["SquareImageList.js"],"sourcesContent":["import React from \"react\";\nimport { Text } from \"@plusscommunities/pluss-core-app/components\";\nimport {\n\tView,\n\tImage,\n\tStyleSheet,\n\tTouchableOpacity,\n\tFlatList,\n} from \"react-native\";\nimport { FontAwesome } from \"../common\";\nimport { Components } from \"../../core.config\";\nimport { values } from \"../../values.config\";\nimport { SPACING } from \"../../js/spacing\";\nimport { getSummaryFieldValue } from \"../../js/helpers\";\n\nconst getEmptyStateMessage = (title) => {\n\tconst featureName = title || \"Feature\";\n\treturn `${featureName} listings will appear here once they're available.\\nCome back soon to see what's new!`;\n};\n\nconst SquareImageList = ({\n\tlistings,\n\tonItemPress,\n\tcolourBrandingMain,\n\trefreshing,\n\tonRefresh,\n\ttitle,\n\tfeatureDefinition,\n\tisWidget,\n}) => {\n\tconst getImageSource = (imageField) => {\n\t\tif (!imageField) return null;\n\n\t\t// Handle different image field formats\n\t\tif (typeof imageField === \"string\") {\n\t\t\treturn { uri: imageField };\n\t\t}\n\n\t\tif (typeof imageField === \"object\" && imageField.uri) {\n\t\t\treturn imageField;\n\t\t}\n\n\t\tif (typeof imageField === \"object\" && imageField.url) {\n\t\t\treturn { uri: imageField.url };\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tconst renderListingItem = ({ item: listing }) => {\n\t\tconst title = listing.fields?.[values.mandatoryFields.title] || \"Untitled\";\n\t\tconst summary = getSummaryFieldValue(listing, featureDefinition);\n\t\tconst imageField = listing.fields?.[values.mandatoryFields.featureImage];\n\t\tconst imageSource = getImageSource(imageField);\n\n\t\treturn (\n\t\t\t<TouchableOpacity\n\t\t\t\tstyle={styles.cardContainer}\n\t\t\t\tonPress={() => onItemPress && onItemPress(listing)}\n\t\t\t>\n\t\t\t\t<View style={styles.borderContainer}>\n\t\t\t\t\t{imageSource ? (\n\t\t\t\t\t\t<Image source={imageSource} style={styles.squareImage} />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<View style={[styles.squareImage, styles.placeholderImage]}></View>\n\t\t\t\t\t)}\n\t\t\t\t\t<View style={styles.contentContainer}>\n\t\t\t\t\t\t<View style={styles.textContainer}>\n\t\t\t\t\t\t\t<Text style={styles.titleText} numberOfLines={1}>\n\t\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Text style={styles.descriptionText} numberOfLines={2}>\n\t\t\t\t\t\t\t\t{summary}\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t\t<View style={styles.chevronContainer}>\n\t\t\t\t\t\t\t<FontAwesome\n\t\t\t\t\t\t\t\tname=\"chevron-right\"\n\t\t\t\t\t\t\t\tsize={16}\n\t\t\t\t\t\t\t\tcolor=\"#ccc\"\n\t\t\t\t\t\t\t\tstyle={styles.chevron}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</TouchableOpacity>\n\t\t);\n\t};\n\n\tif (!listings || listings.length === 0) {\n\t\treturn (\n\t\t\t<View style={styles.emptyContainer}>\n\t\t\t\t<Components.EmptyStateWidget\n\t\t\t\t\ttitle={getEmptyStateMessage(title)}\n\t\t\t\t\theight={120}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tif (onRefresh) {\n\t\treturn (\n\t\t\t<View style={styles.container}>\n\t\t\t\t{!isWidget && <Components.LoadingIndicator visible={refreshing} />}\n\t\t\t\t<FlatList\n\t\t\t\t\tdata={listings}\n\t\t\t\t\tkeyExtractor={(item) => item.id}\n\t\t\t\t\trenderItem={renderListingItem}\n\t\t\t\t\tcontentContainerStyle={styles.scrollContainer}\n\t\t\t\t\tshowsVerticalScrollIndicator={false}\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<FlatList\n\t\t\tdata={listings}\n\t\t\tkeyExtractor={(item) => item.id}\n\t\t\trenderItem={renderListingItem}\n\t\t\tcontentContainerStyle={styles.scrollContainer}\n\t\t\tshowsVerticalScrollIndicator={false}\n\t\t/>\n\t);\n};\n\nconst styles = StyleSheet.create({\n\tcontainer: {\n\t\tflex: 1,\n\t},\n\tscrollContainer: {\n\t\tpaddingHorizontal: SPACING.MD,\n\t\tpaddingVertical: SPACING.MD,\n\t},\n\tcardContainer: {\n\t\tmarginBottom: SPACING.MD,\n\t\tbackgroundColor: \"#ffffff\",\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: {\n\t\t\twidth: 0,\n\t\t\theight: 2,\n\t\t},\n\t\tshadowOpacity: 0.1,\n\t\tshadowRadius: 3.84,\n\t},\n\tborderContainer: {\n\t\tborderRadius: SPACING.XS,\n\t\tbackgroundColor: \"#ffffff\",\n\t\tshadowColor: \"#000\",\n\t\tshadowOffset: {\n\t\t\twidth: 0,\n\t\t\theight: 4,\n\t\t},\n\t\tshadowOpacity: 0.15,\n\t\tshadowRadius: 8,\n\t\televation: 4,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t\toverflow: \"hidden\",\n\t\tminHeight: 100,\n\t\tpaddingRight: SPACING.SM,\n\t},\n\tsquareImage: {\n\t\theight: 100,\n\t\taspectRatio: 1,\n\t\tbackgroundColor: \"#f0f0f0\",\n\t\tmarginRight: SPACING.MD,\n\t},\n\tplaceholderImage: {\n\t\tbackgroundColor: \"#808080\",\n\t\tjustifyContent: \"center\",\n\t},\n\tcontentContainer: {\n\t\tflex: 1,\n\t\tflexDirection: \"row\",\n\t\talignItems: \"center\",\n\t},\n\ttextContainer: {\n\t\tflex: 1,\n\t},\n\ttitleText: {\n\t\tfontSize: 18,\n\t\tfontFamily: \"sf-medium\",\n\t\tcolor: \"#333\",\n\t\tmarginBottom: SPACING.XS,\n\t},\n\tdescriptionText: {\n\t\tfontFamily: \"sf-regular\",\n\t\tfontSize: 14,\n\t\tcolor: \"#666\",\n\t\tlineHeight: 18,\n\t},\n\temptyContainer: {\n\t\tflex: 1,\n\t\tjustifyContent: \"center\",\n\t\talignItems: \"center\",\n\t\tpadding: 32,\n\t},\n\tchevronContainer: {\n\t\tjustifyContent: \"center\",\n\t\tpaddingHorizontal: SPACING.SM,\n\t},\n\tchevron: {\n\t\topacity: 0.6,\n\t},\n});\n\nexport default SquareImageList;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Config","CONST_STRINGS","EMPTY_GROUPS","EMPTY_PEOPLE","getTinyChatDefault","env","tinyChatDefault","getNewEventDefaults","newEventDefaults"],"
|
|
1
|
+
{"version":3,"names":["Config","CONST_STRINGS","EMPTY_GROUPS","EMPTY_PEOPLE","getTinyChatDefault","env","tinyChatDefault","getNewEventDefaults","newEventDefaults"],"sources":["index.js"],"sourcesContent":["import { Config } from \"../core.config\";\n\nexport const CONST_STRINGS = {\n\tEMPTY_GROUPS: \"You aren't in any Circles\",\n\tEMPTY_PEOPLE: \"Contacts will show here\",\n};\nexport const getTinyChatDefault = () => Config.env.tinyChatDefault;\nexport const getNewEventDefaults = () => Config.env.newEventDefaults;\n\n// TODO: Add configurations as required\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,gBAAgB;AAEvC,OAAO,MAAMC,aAAa,GAAG;EAC5BC,YAAY,EAAE,2BAA2B;EACzCC,YAAY,EAAE;AACf,CAAC;AACD,OAAO,MAAMC,kBAAkB,GAAGA,CAAA,KAAMJ,MAAM,CAACK,GAAG,CAACC,eAAe;AAClE,OAAO,MAAMC,mBAAmB,GAAGA,CAAA,KAAMP,MAAM,CAACK,GAAG,CAACG,gBAAgB;;AAEpE","ignoreList":[]}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
// import * as PlussCore from '../../pluss-core/src';
|
|
4
2
|
import * as PlussCore from "@plusscommunities/pluss-core-app";
|
|
5
3
|
const {
|
|
6
4
|
Apis,
|
|
7
|
-
Fonts,
|
|
8
5
|
Actions,
|
|
9
6
|
ActionTypes,
|
|
10
7
|
Config,
|
|
@@ -15,5 +12,5 @@ const {
|
|
|
15
12
|
Constants,
|
|
16
13
|
Colours
|
|
17
14
|
} = PlussCore;
|
|
18
|
-
export { Apis,
|
|
15
|
+
export { Apis, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };
|
|
19
16
|
//# sourceMappingURL=core.config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PlussCore","Apis","
|
|
1
|
+
{"version":3,"names":["PlussCore","Apis","Actions","ActionTypes","Config","Components","Styles","Session","Helper","Constants","Colours"],"sources":["core.config.js"],"sourcesContent":["// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from \"@plusscommunities/pluss-core-app\";\n\nconst {\n\tApis,\n\tActions,\n\tActionTypes,\n\tConfig,\n\tComponents,\n\tStyles,\n\tSession,\n\tHelper,\n\tConstants,\n\tColours,\n} = PlussCore;\nexport {\n\tApis,\n\tActions,\n\tActionTypes,\n\tConfig,\n\tComponents,\n\tStyles,\n\tSession,\n\tHelper,\n\tConstants,\n\tColours,\n};\n"],"mappings":"AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,MAAM;EACLC,IAAI;EACJC,OAAO;EACPC,WAAW;EACXC,MAAM;EACNC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC,MAAM;EACNC,SAAS;EACTC;AACD,CAAC,GAAGV,SAAS;AACb,SACCC,IAAI,EACJC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,SAAS,EACTC,OAAO","ignoreList":[]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
import _ from "lodash";
|
|
4
2
|
// import * as PlussCore from '../../pluss-core/src';
|
|
5
3
|
import * as PlussCore from "@plusscommunities/pluss-core-app";
|
|
@@ -16,20 +14,22 @@ const fetchFeatured = async () => {
|
|
|
16
14
|
return [];
|
|
17
15
|
};
|
|
18
16
|
const getFeatured = (state, features) => {
|
|
17
|
+
var _state$values$reducer;
|
|
19
18
|
if (!_.includes(features, values.featureKey)) return null;
|
|
20
|
-
const listings = state[values.reducerKey]
|
|
19
|
+
const listings = ((_state$values$reducer = state[values.reducerKey]) === null || _state$values$reducer === void 0 ? void 0 : _state$values$reducer.listings) || [];
|
|
21
20
|
if (!listings || listings.length === 0) return [];
|
|
22
21
|
const latestListings = _.orderBy(listings, [item => item.createdAt || item.updatedAt], ["desc"]).slice(0, 4);
|
|
23
22
|
return latestListings.map(listing => {
|
|
24
|
-
|
|
25
|
-
const
|
|
23
|
+
var _listing$fields, _listing$fields2;
|
|
24
|
+
const title = ((_listing$fields = listing.fields) === null || _listing$fields === void 0 ? void 0 : _listing$fields[values.mandatoryFields.title]) || values.labels.defaultTitle;
|
|
25
|
+
const imageField = (_listing$fields2 = listing.fields) === null || _listing$fields2 === void 0 ? void 0 : _listing$fields2[values.mandatoryFields.featureImage];
|
|
26
26
|
let imageSource = null;
|
|
27
27
|
if (imageField) {
|
|
28
28
|
if (typeof imageField === "string") {
|
|
29
29
|
imageSource = imageField;
|
|
30
|
-
} else if (imageField
|
|
30
|
+
} else if (imageField !== null && imageField !== void 0 && imageField.url) {
|
|
31
31
|
imageSource = imageField.url;
|
|
32
|
-
} else if (imageField
|
|
32
|
+
} else if (imageField !== null && imageField !== void 0 && imageField.uri) {
|
|
33
33
|
imageSource = imageField.uri;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
@@ -100,9 +100,10 @@ const FeatureConfig = {
|
|
|
100
100
|
PlussCore.Config.init(environment, navigation);
|
|
101
101
|
},
|
|
102
102
|
afterStoreInit: (dispatch, getState) => {
|
|
103
|
+
var _state$user;
|
|
103
104
|
// Get the site from state (guaranteed to be available due to polling)
|
|
104
105
|
const state = getState();
|
|
105
|
-
const site = state
|
|
106
|
+
const site = state === null || state === void 0 || (_state$user = state.user) === null || _state$user === void 0 ? void 0 : _state$user.site;
|
|
106
107
|
if (site) {
|
|
107
108
|
// Show loading state before fetching
|
|
108
109
|
dispatch(updateFeatureBuilderString("Loading..."));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_","PlussCore","values","loadTargetFeature","updateFeatureBuilderString","updateFeatureBuilderIcon","Services","navigation","BaseComponents","NotificationBell","fetchFeatured","getFeatured","state","features","includes","featureKey","listings","reducerKey","length","latestListings","orderBy","item","createdAt","updatedAt","slice","map","listing","title","fields","mandatoryFields","labels","defaultTitle","imageField","featureImage","imageSource","url","uri","id","type","description","image","date","data","FeatureConfig","key","aliases","featureName","gridMenu","icon","viewBox","navigate","options","addMenu","moreMenu","kioskAction","notification","submission","featured","prop","reducer","updateKey","fetch","get","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config","afterStoreInit","dispatch","getState","site","user"],"
|
|
1
|
+
{"version":3,"names":["_","PlussCore","values","loadTargetFeature","updateFeatureBuilderString","updateFeatureBuilderIcon","Services","navigation","BaseComponents","NotificationBell","fetchFeatured","getFeatured","state","features","_state$values$reducer","includes","featureKey","listings","reducerKey","length","latestListings","orderBy","item","createdAt","updatedAt","slice","map","listing","_listing$fields","_listing$fields2","title","fields","mandatoryFields","labels","defaultTitle","imageField","featureImage","imageSource","url","uri","id","type","description","image","date","data","FeatureConfig","key","aliases","featureName","gridMenu","icon","viewBox","navigate","options","addMenu","moreMenu","kioskAction","notification","submission","featured","prop","reducer","updateKey","fetch","get","hideTabBar","env","baseStage","baseAPIUrl","hasGradientHeader","defaultProfileImage","tinyChatDefault","baseUploadsUrl","allowMediaDownload","allowMediaSharing","awsUploadsBucket","awsStorageBucket","preferredSite","strings","newEventDefaults","defaultAllowComments","init","environment","notificationBell","Config","afterStoreInit","dispatch","getState","_state$user","site","user"],"sources":["feature.config.js"],"sourcesContent":["import _ from \"lodash\";\n// import * as PlussCore from '../../pluss-core/src';\nimport * as PlussCore from \"@plusscommunities/pluss-core-app\";\nimport { values } from \"./values.config\";\nimport { loadTargetFeature } from \"./actions/featureBuilderActions\";\nimport {\n\tupdateFeatureBuilderString,\n\tupdateFeatureBuilderIcon,\n} from \"./actions/featureBuilderStringsActions\";\n\nexport const Services = {\n\tnavigation: null,\n};\n\nexport const BaseComponents = {\n\tNotificationBell: null,\n};\n\nconst fetchFeatured = async () => {\n\treturn [];\n};\n\nconst getFeatured = (state, features) => {\n\tif (!_.includes(features, values.featureKey)) return null;\n\n\tconst listings = state[values.reducerKey]?.listings || [];\n\tif (!listings || listings.length === 0) return [];\n\n\tconst latestListings = _.orderBy(\n\t\tlistings,\n\t\t[(item) => item.createdAt || item.updatedAt],\n\t\t[\"desc\"],\n\t).slice(0, 4);\n\n\treturn latestListings.map((listing) => {\n\t\tconst title =\n\t\t\tlisting.fields?.[values.mandatoryFields.title] ||\n\t\t\tvalues.labels.defaultTitle;\n\t\tconst imageField = listing.fields?.[values.mandatoryFields.featureImage];\n\t\tlet imageSource = null;\n\n\t\tif (imageField) {\n\t\t\tif (typeof imageField === \"string\") {\n\t\t\t\timageSource = imageField;\n\t\t\t} else if (imageField?.url) {\n\t\t\t\timageSource = imageField.url;\n\t\t\t} else if (imageField?.uri) {\n\t\t\t\timageSource = imageField.uri;\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tid: listing.id,\n\t\t\ttype: values.featureKey,\n\t\t\ttitle: title,\n\t\t\tdescription: \"\",\n\t\t\timage: imageSource,\n\t\t\tdate: listing.createdAt || listing.updatedAt || 0,\n\t\t\tdata: listing,\n\t\t};\n\t});\n};\n\nconst FeatureConfig = {\n\tkey: values.featureKey,\n\taliases: [\"feature-builder\", \"custom-features\"],\n\ttitle: values.featureName,\n\n\tgridMenu: {\n\t\ticon: values.navigation.gridMenu.icon,\n\t\tviewBox: values.navigation.gridMenu.viewBox,\n\t\tnavigate: values.navigation.gridMenu.navigate,\n\t\toptions: values.navigation.gridMenu.options,\n\t},\n\n\t// For now, keep other menus minimal since this is primarily a display feature\n\taddMenu: null,\n\tmoreMenu: null,\n\tkioskAction: null,\n\n\tnotification: null, // No notifications for MVP\n\tsubmission: null, // No submissions for MVP\n\n\tfeatured: {\n\t\ttype: values.featureKey,\n\t\tprop: values.featureKey,\n\t\treducer: {\n\t\t\tkey: values.featureKey,\n\t\t\tprop: \"list\",\n\t\t},\n\t\tupdateKey: values.featureKey,\n\t\tfetch: fetchFeatured,\n\t\tget: getFeatured,\n\t},\n\n\thideTabBar: [], // No special tab bar hiding needed\n\n\tenv: {\n\t\tbaseStage: \"\",\n\t\tbaseAPIUrl: \"\",\n\t\thasGradientHeader: false,\n\t\tdefaultProfileImage: \"\",\n\t\ttinyChatDefault: \"\",\n\t\tbaseUploadsUrl: \"\",\n\t\tallowMediaDownload: false,\n\t\tallowMediaSharing: false,\n\t\tawsUploadsBucket: \"\",\n\t\tawsStorageBucket: \"\",\n\t\tpreferredSite: \"\",\n\t\tstrings: {},\n\t\tnewEventDefaults: \"\",\n\t\tdefaultAllowComments: true,\n\t},\n\n\tinit: (environment, navigation, notificationBell) => {\n\t\tFeatureConfig.env = environment;\n\t\tServices.navigation = navigation;\n\t\tBaseComponents.NotificationBell = notificationBell;\n\t\tPlussCore.Config.init(environment, navigation);\n\t},\n\n\tafterStoreInit: (dispatch, getState) => {\n\t\t// Get the site from state (guaranteed to be available due to polling)\n\t\tconst state = getState();\n\t\tconst site = state?.user?.site;\n\n\t\tif (site) {\n\t\t\t// Show loading state before fetching\n\t\t\tdispatch(updateFeatureBuilderString(\"Loading...\"));\n\t\t\tdispatch(updateFeatureBuilderIcon(\"spinner\"));\n\n\t\t\t// Load the target feature definition and listings\n\t\t\t// This will also update the title and icon from the definition\n\t\t\tdispatch(loadTargetFeature());\n\t\t}\n\t},\n};\n\nexport default FeatureConfig;\n"],"mappings":"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","ignoreList":[]}
|
package/dist/module/index.js
CHANGED
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FeatureConfig","featureBuilderReducer","FeatureListScreen","FeatureDetailScreen","values","Reducers","reducerKey","Screens","screens","featureList","featureDetail","default","Config","WidgetSmall","WidgetLarge","WidgetGrid"],"
|
|
1
|
+
{"version":3,"names":["FeatureConfig","featureBuilderReducer","FeatureListScreen","FeatureDetailScreen","values","Reducers","reducerKey","Screens","screens","featureList","featureDetail","default","Config","WidgetSmall","WidgetLarge","WidgetGrid"],"sources":["index.js"],"sourcesContent":["import FeatureConfig from \"./feature.config\";\nimport featureBuilderReducer from \"./reducers/featureBuilderReducer\";\nimport FeatureListScreen from \"./components/FeatureListScreen\";\nimport FeatureDetailScreen from \"./components/FeatureDetailScreen\";\nimport { values } from \"./values.config\";\n\nexport const Reducers = {\n\t[values.reducerKey]: featureBuilderReducer,\n};\n\nexport const Screens = {\n\t[values.screens.featureList]: FeatureListScreen,\n\t[values.screens.featureDetail]: FeatureDetailScreen,\n};\n\nexport { default as Config } from \"./feature.config\";\nexport { default as WidgetSmall } from \"./components/WidgetSmall\";\nexport { default as WidgetLarge } from \"./components/WidgetLarge\";\nexport { default as WidgetGrid } from \"./components/WidgetGrid\";\n\nexport { FeatureConfig };\n"],"mappings":"AAAA,OAAOA,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,qBAAqB,MAAM,kCAAkC;AACpE,OAAOC,iBAAiB,MAAM,gCAAgC;AAC9D,OAAOC,mBAAmB,MAAM,kCAAkC;AAClE,SAASC,MAAM,QAAQ,iBAAiB;AAExC,OAAO,MAAMC,QAAQ,GAAG;EACvB,CAACD,MAAM,CAACE,UAAU,GAAGL;AACtB,CAAC;AAED,OAAO,MAAMM,OAAO,GAAG;EACtB,CAACH,MAAM,CAACI,OAAO,CAACC,WAAW,GAAGP,iBAAiB;EAC/C,CAACE,MAAM,CAACI,OAAO,CAACE,aAAa,GAAGP;AACjC,CAAC;AAED,SAASQ,OAAO,IAAIC,MAAM,QAAQ,kBAAkB;AACpD,SAASD,OAAO,IAAIE,WAAW,QAAQ,0BAA0B;AACjE,SAASF,OAAO,IAAIG,WAAW,QAAQ,0BAA0B;AACjE,SAASH,OAAO,IAAII,UAAU,QAAQ,yBAAyB;AAE/D,SAASf,aAAa","ignoreList":[]}
|
package/dist/module/js/Colors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Colours","getMainBrandingColourFromState","getLightBrandingColourFromState","LINEGREY","TEXT_DARKEST","TEXT_DARK","TEXT_MID","TEXT_LIGHT","TEXT_LIGHTER","TEXT_BLUEGREY","COLOUR_GREEN","COLOUR_TRANSPARENT","COLOUR_TEAL","COLOUR_PURPLE","COLOUR_TANGERINE"],"
|
|
1
|
+
{"version":3,"names":["Colours","getMainBrandingColourFromState","getLightBrandingColourFromState","LINEGREY","TEXT_DARKEST","TEXT_DARK","TEXT_MID","TEXT_LIGHT","TEXT_LIGHTER","TEXT_BLUEGREY","COLOUR_GREEN","COLOUR_TRANSPARENT","COLOUR_TEAL","COLOUR_PURPLE","COLOUR_TANGERINE"],"sources":["Colors.js"],"sourcesContent":["import { Colours } from \"../core.config\";\n\nexport const getMainBrandingColourFromState =\n\tColours.getMainBrandingColourFromState;\nexport const getLightBrandingColourFromState =\n\tColours.getLightBrandingColourFromState;\nexport const LINEGREY = Colours.LINEGREY;\nexport const TEXT_DARKEST = Colours.TEXT_DARKEST;\nexport const TEXT_DARK = Colours.TEXT_DARK;\nexport const TEXT_MID = Colours.TEXT_MID;\nexport const TEXT_LIGHT = Colours.TEXT_LIGHT;\nexport const TEXT_LIGHTER = Colours.TEXT_LIGHTER;\nexport const TEXT_BLUEGREY = Colours.TEXT_BLUEGREY;\nexport const COLOUR_GREEN = Colours.COLOUR_GREEN;\nexport const COLOUR_TRANSPARENT = Colours.COLOUR_TRANSPARENT;\nexport const COLOUR_TEAL = Colours.COLOUR_TEAL;\nexport const COLOUR_PURPLE = Colours.COLOUR_PURPLE;\nexport const COLOUR_TANGERINE = Colours.COLOUR_TANGERINE;\n\n// TODO: Add required references\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,gBAAgB;AAExC,OAAO,MAAMC,8BAA8B,GAC1CD,OAAO,CAACC,8BAA8B;AACvC,OAAO,MAAMC,+BAA+B,GAC3CF,OAAO,CAACE,+BAA+B;AACxC,OAAO,MAAMC,QAAQ,GAAGH,OAAO,CAACG,QAAQ;AACxC,OAAO,MAAMC,YAAY,GAAGJ,OAAO,CAACI,YAAY;AAChD,OAAO,MAAMC,SAAS,GAAGL,OAAO,CAACK,SAAS;AAC1C,OAAO,MAAMC,QAAQ,GAAGN,OAAO,CAACM,QAAQ;AACxC,OAAO,MAAMC,UAAU,GAAGP,OAAO,CAACO,UAAU;AAC5C,OAAO,MAAMC,YAAY,GAAGR,OAAO,CAACQ,YAAY;AAChD,OAAO,MAAMC,aAAa,GAAGT,OAAO,CAACS,aAAa;AAClD,OAAO,MAAMC,YAAY,GAAGV,OAAO,CAACU,YAAY;AAChD,OAAO,MAAMC,kBAAkB,GAAGX,OAAO,CAACW,kBAAkB;AAC5D,OAAO,MAAMC,WAAW,GAAGZ,OAAO,CAACY,WAAW;AAC9C,OAAO,MAAMC,aAAa,GAAGb,OAAO,CAACa,aAAa;AAClD,OAAO,MAAMC,gBAAgB,GAAGd,OAAO,CAACc,gBAAgB;;AAExD","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FIELD_TYPES","TITLE","TEXT","DESCRIPTION","IMAGE","GALLERY","FEATURE_IMAGE","EMAIL","NUMBER","DATE","CTA","FILE","FIELD_TYPE_LABELS","FIELD_VALIDATION","required","minLength","allowedTypes","allowMultiple","pattern","fields","getFieldTypeLabel","fieldType","isCTAField","fieldValue","label","url","isImageField","startsWith","uri","isLinkField"],"
|
|
1
|
+
{"version":3,"names":["FIELD_TYPES","TITLE","TEXT","DESCRIPTION","IMAGE","GALLERY","FEATURE_IMAGE","EMAIL","NUMBER","DATE","CTA","FILE","FIELD_TYPE_LABELS","FIELD_VALIDATION","required","minLength","allowedTypes","allowMultiple","pattern","fields","getFieldTypeLabel","fieldType","isCTAField","fieldValue","label","url","isImageField","startsWith","uri","isLinkField"],"sources":["FieldTypes.js"],"sourcesContent":["/**\n * Field Types Constants for Feature Builder\n * Defines all supported field types and their properties\n */\n\nexport const FIELD_TYPES = {\n\tTITLE: \"title\",\n\tTEXT: \"text\",\n\tDESCRIPTION: \"description\",\n\tIMAGE: \"image\",\n\tGALLERY: \"gallery\",\n\tFEATURE_IMAGE: \"feature-image\",\n\tEMAIL: \"email\",\n\tNUMBER: \"number\",\n\tDATE: \"date\",\n\tCTA: \"cta\",\n\tFILE: \"file\",\n};\n\n/**\n * Field type display labels for UI\n */\nexport const FIELD_TYPE_LABELS = {\n\t[FIELD_TYPES.TITLE]: \"Title\",\n\t[FIELD_TYPES.TEXT]: \"Text\",\n\t[FIELD_TYPES.DESCRIPTION]: \"Description\",\n\t[FIELD_TYPES.IMAGE]: \"Image\",\n\t[FIELD_TYPES.GALLERY]: \"Gallery\",\n\t[FIELD_TYPES.FEATURE_IMAGE]: \"Feature Image\",\n\t[FIELD_TYPES.EMAIL]: \"Email\",\n\t[FIELD_TYPES.NUMBER]: \"Number\",\n\t[FIELD_TYPES.DATE]: \"Date\",\n\t[FIELD_TYPES.CTA]: \"CTA Button\",\n\t[FIELD_TYPES.FILE]: \"File\",\n};\n\n/**\n * Field type validation rules\n */\nexport const FIELD_VALIDATION = {\n\t[FIELD_TYPES.TITLE]: {\n\t\trequired: true,\n\t\tminLength: 1,\n\t},\n\t[FIELD_TYPES.TEXT]: {\n\t\trequired: true,\n\t\tminLength: 1,\n\t},\n\t[FIELD_TYPES.DESCRIPTION]: {\n\t\trequired: false,\n\t\tminLength: 0,\n\t},\n\t[FIELD_TYPES.IMAGE]: {\n\t\trequired: false,\n\t\tallowedTypes: [\"image/jpeg\", \"image/png\", \"image/gif\"],\n\t},\n\t[FIELD_TYPES.GALLERY]: {\n\t\trequired: false,\n\t\tallowedTypes: [\"image/jpeg\", \"image/png\", \"image/gif\"],\n\t\tallowMultiple: true,\n\t},\n\t[FIELD_TYPES.FEATURE_IMAGE]: {\n\t\trequired: true,\n\t\tallowedTypes: [\"image/jpeg\", \"image/png\", \"image/gif\"],\n\t},\n\t[FIELD_TYPES.EMAIL]: {\n\t\trequired: false,\n\t\tpattern: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\n\t},\n\t[FIELD_TYPES.NUMBER]: {\n\t\trequired: false,\n\t\tpattern: /^\\d+\\.?\\d*$/,\n\t},\n\t[FIELD_TYPES.DATE]: {\n\t\trequired: false,\n\t},\n\t[FIELD_TYPES.CTA]: {\n\t\trequired: false,\n\t\tfields: [\"label\", \"url\"],\n\t},\n\t[FIELD_TYPES.FILE]: {\n\t\trequired: false,\n\t\tallowMultiple: true,\n\t},\n};\n\n/**\n * Get display label for field type\n */\nexport const getFieldTypeLabel = (fieldType) => {\n\treturn FIELD_TYPE_LABELS[fieldType] || fieldType;\n};\n\n/**\n * Check if field type is a CTA (has label and url structure)\n */\nexport const isCTAField = (fieldValue) => {\n\treturn (\n\t\tfieldValue &&\n\t\ttypeof fieldValue === \"object\" &&\n\t\tfieldValue.label &&\n\t\tfieldValue.url\n\t);\n};\n\n/**\n * Check if field value represents an image\n */\nexport const isImageField = (fieldValue) => {\n\tif (typeof fieldValue === \"string\") {\n\t\treturn (\n\t\t\tfieldValue.startsWith(\"http://\") || fieldValue.startsWith(\"https://\")\n\t\t);\n\t}\n\tif (typeof fieldValue === \"object\" && (fieldValue.uri || fieldValue.url)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n/**\n * Check if field value represents a link/URL\n */\nexport const isLinkField = (fieldValue) => {\n\tif (typeof fieldValue === \"string\") {\n\t\treturn (\n\t\t\tfieldValue.startsWith(\"http://\") || fieldValue.startsWith(\"https://\")\n\t\t);\n\t}\n\treturn false;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Services","navService","navigate","routeName","params","navigation","goBack","getParentRoute"],"
|
|
1
|
+
{"version":3,"names":["Services","navService","navigate","routeName","params","navigation","goBack","getParentRoute"],"sources":["NavigationService.js"],"sourcesContent":["import { Services } from \"../feature.config\";\n\nconst navService = {\n\tnavigate: (routeName, params) =>\n\t\tServices.navigation.navigate(routeName, params),\n\tgoBack: (routeName) => Services.navigation.goBack(routeName),\n\tgetParentRoute: () => Services.navigation.getParentRoute(),\n};\n\nexport default navService;\n\n// TODO: Add required references\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,mBAAmB;AAE5C,MAAMC,UAAU,GAAG;EAClBC,QAAQ,EAAEA,CAACC,SAAS,EAAEC,MAAM,KAC3BJ,QAAQ,CAACK,UAAU,CAACH,QAAQ,CAACC,SAAS,EAAEC,MAAM,CAAC;EAChDE,MAAM,EAAGH,SAAS,IAAKH,QAAQ,CAACK,UAAU,CAACC,MAAM,CAACH,SAAS,CAAC;EAC5DI,cAAc,EAAEA,CAAA,KAAMP,QAAQ,CAACK,UAAU,CAACE,cAAc,CAAC;AAC1D,CAAC;AAED,eAAeN,UAAU;;AAEzB","ignoreList":[]}
|
package/dist/module/js/Styles.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Styles"],"
|
|
1
|
+
{"version":3,"names":["Styles"],"sources":["Styles.js"],"sourcesContent":["import { Styles } from \"../core.config\";\n\nexport default Styles;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,gBAAgB;AAEvC,eAAeA,MAAM","ignoreList":[]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
1
|
/**
|
|
4
2
|
* Helper functions for Feature Builder
|
|
5
3
|
*/
|
|
@@ -12,16 +10,19 @@
|
|
|
12
10
|
* @returns {string} The summary field value or empty string
|
|
13
11
|
*/
|
|
14
12
|
export const getSummaryFieldValue = (listing, featureDefinition) => {
|
|
13
|
+
var _featureDefinition$fi, _featureDefinition$fi2;
|
|
15
14
|
// First, look for field marked with useAsSummary: true
|
|
16
|
-
const summaryField = featureDefinition
|
|
15
|
+
const summaryField = featureDefinition === null || featureDefinition === void 0 || (_featureDefinition$fi = featureDefinition.fields) === null || _featureDefinition$fi === void 0 ? void 0 : _featureDefinition$fi.find(field => field.useAsSummary === true);
|
|
17
16
|
if (summaryField) {
|
|
18
|
-
|
|
17
|
+
var _listing$fields;
|
|
18
|
+
return ((_listing$fields = listing.fields) === null || _listing$fields === void 0 ? void 0 : _listing$fields[summaryField.id]) || "";
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
// Fall back to first description-type field
|
|
22
|
-
const descriptionField = featureDefinition
|
|
22
|
+
const descriptionField = featureDefinition === null || featureDefinition === void 0 || (_featureDefinition$fi2 = featureDefinition.fields) === null || _featureDefinition$fi2 === void 0 ? void 0 : _featureDefinition$fi2.find(field => field.type === "description");
|
|
23
23
|
if (descriptionField) {
|
|
24
|
-
|
|
24
|
+
var _listing$fields2;
|
|
25
|
+
return ((_listing$fields2 = listing.fields) === null || _listing$fields2 === void 0 ? void 0 : _listing$fields2[descriptionField.id]) || "";
|
|
25
26
|
}
|
|
26
27
|
return "";
|
|
27
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getSummaryFieldValue","listing","featureDefinition","summaryField","fields","find","field","useAsSummary","id","descriptionField","type"],"
|
|
1
|
+
{"version":3,"names":["getSummaryFieldValue","listing","featureDefinition","_featureDefinition$fi","_featureDefinition$fi2","summaryField","fields","find","field","useAsSummary","_listing$fields","id","descriptionField","type","_listing$fields2"],"sources":["helpers.js"],"sourcesContent":["/**\n * Helper functions for Feature Builder\n */\n\n/**\n * Get the summary field value from a listing based on feature definition\n * Looks for a field marked with useAsSummary: true, then falls back to first description field\n * @param {Object} listing - The listing object containing fields\n * @param {Object} featureDefinition - The feature definition containing field definitions\n * @returns {string} The summary field value or empty string\n */\nexport const getSummaryFieldValue = (listing, featureDefinition) => {\n\t// First, look for field marked with useAsSummary: true\n\tconst summaryField = featureDefinition?.fields?.find(\n\t\t(field) => field.useAsSummary === true,\n\t);\n\tif (summaryField) {\n\t\treturn listing.fields?.[summaryField.id] || \"\";\n\t}\n\n\t// Fall back to first description-type field\n\tconst descriptionField = featureDefinition?.fields?.find(\n\t\t(field) => field.type === \"description\",\n\t);\n\tif (descriptionField) {\n\t\treturn listing.fields?.[descriptionField.id] || \"\";\n\t}\n\n\treturn \"\";\n};\n"],"mappings":"AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGA,CAACC,OAAO,EAAEC,iBAAiB,KAAK;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACnE;EACA,MAAMC,YAAY,GAAGH,iBAAiB,aAAjBA,iBAAiB,gBAAAC,qBAAA,GAAjBD,iBAAiB,CAAEI,MAAM,cAAAH,qBAAA,uBAAzBA,qBAAA,CAA2BI,IAAI,CAClDC,KAAK,IAAKA,KAAK,CAACC,YAAY,KAAK,IACnC,CAAC;EACD,IAAIJ,YAAY,EAAE;IAAA,IAAAK,eAAA;IACjB,OAAO,EAAAA,eAAA,GAAAT,OAAO,CAACK,MAAM,cAAAI,eAAA,uBAAdA,eAAA,CAAiBL,YAAY,CAACM,EAAE,CAAC,KAAI,EAAE;EAC/C;;EAEA;EACA,MAAMC,gBAAgB,GAAGV,iBAAiB,aAAjBA,iBAAiB,gBAAAE,sBAAA,GAAjBF,iBAAiB,CAAEI,MAAM,cAAAF,sBAAA,uBAAzBA,sBAAA,CAA2BG,IAAI,CACtDC,KAAK,IAAKA,KAAK,CAACK,IAAI,KAAK,aAC3B,CAAC;EACD,IAAID,gBAAgB,EAAE;IAAA,IAAAE,gBAAA;IACrB,OAAO,EAAAA,gBAAA,GAAAb,OAAO,CAACK,MAAM,cAAAQ,gBAAA,uBAAdA,gBAAA,CAAiBF,gBAAgB,CAACD,EAAE,CAAC,KAAI,EAAE;EACnD;EAEA,OAAO,EAAE;AACV,CAAC","ignoreList":[]}
|
package/dist/module/js/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Session","Helper","authedFunction","request","result","getSessionTokenAWS","getSessionUidAWS","getFirstName","getImageSource","StatusBarHeight","getPluralS","getShadowStyle","getSite","getValueOrDefault","usersToSearchResult","searchUsers"],"
|
|
1
|
+
{"version":3,"names":["Session","Helper","authedFunction","request","result","getSessionTokenAWS","getSessionUidAWS","getFirstName","getImageSource","StatusBarHeight","getPluralS","getShadowStyle","getSite","getValueOrDefault","usersToSearchResult","searchUsers"],"sources":["index.js"],"sourcesContent":["import { Session, Helper } from \"../core.config\";\n\n// Session\nexport const authedFunction = async (request) => {\n\tconst result = await Session.authedFunction(request);\n\treturn result;\n};\nexport const getSessionTokenAWS = Session.getSessionTokenAWS;\nexport const getSessionUidAWS = Session.getSessionUidAWS;\n\n// Helper\nexport const getFirstName = Helper.getFirstName;\nexport const getImageSource = Helper.getImageSource;\nexport const StatusBarHeight = Helper.StatusBarHeight;\nexport const getPluralS = Helper.getPluralS;\nexport const getShadowStyle = Helper.getShadowStyle;\nexport const getSite = Helper.getSite;\nexport const getValueOrDefault = Helper.getValueOrDefault;\nexport const usersToSearchResult = Helper.usersToSearchResult;\nexport const searchUsers = Helper.searchUsers;\n\nexport * from \"./Colors\";\n\n// TODO: Add required references\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,MAAM,QAAQ,gBAAgB;;AAEhD;AACA,OAAO,MAAMC,cAAc,GAAG,MAAOC,OAAO,IAAK;EAChD,MAAMC,MAAM,GAAG,MAAMJ,OAAO,CAACE,cAAc,CAACC,OAAO,CAAC;EACpD,OAAOC,MAAM;AACd,CAAC;AACD,OAAO,MAAMC,kBAAkB,GAAGL,OAAO,CAACK,kBAAkB;AAC5D,OAAO,MAAMC,gBAAgB,GAAGN,OAAO,CAACM,gBAAgB;;AAExD;AACA,OAAO,MAAMC,YAAY,GAAGN,MAAM,CAACM,YAAY;AAC/C,OAAO,MAAMC,cAAc,GAAGP,MAAM,CAACO,cAAc;AACnD,OAAO,MAAMC,eAAe,GAAGR,MAAM,CAACQ,eAAe;AACrD,OAAO,MAAMC,UAAU,GAAGT,MAAM,CAACS,UAAU;AAC3C,OAAO,MAAMC,cAAc,GAAGV,MAAM,CAACU,cAAc;AACnD,OAAO,MAAMC,OAAO,GAAGX,MAAM,CAACW,OAAO;AACrC,OAAO,MAAMC,iBAAiB,GAAGZ,MAAM,CAACY,iBAAiB;AACzD,OAAO,MAAMC,mBAAmB,GAAGb,MAAM,CAACa,mBAAmB;AAC7D,OAAO,MAAMC,WAAW,GAAGd,MAAM,CAACc,WAAW;AAE7C,cAAc,UAAU;;AAExB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["SPACING","XS","SM","MD","LG","XL","XXL","commonSpacing","marginTiny","marginSmall","marginMedium","marginLarge","marginXLarge","marginXXLarge","paddingTiny","paddingSmall","paddingMedium","paddingLarge","paddingXLarge","paddingXXLarge"],"
|
|
1
|
+
{"version":3,"names":["SPACING","XS","SM","MD","LG","XL","XXL","commonSpacing","marginTiny","marginSmall","marginMedium","marginLarge","marginXLarge","marginXXLarge","paddingTiny","paddingSmall","paddingMedium","paddingLarge","paddingXLarge","paddingXXLarge"],"sources":["spacing.js"],"sourcesContent":["export const SPACING = {\n\t// Base spacing unit (4px)\n\tXS: 4,\n\t// Small spacing (8px)\n\tSM: 8,\n\t// Medium spacing (16px)\n\tMD: 16,\n\t// Large spacing (24px)\n\tLG: 24,\n\t// Extra large spacing (32px)\n\tXL: 32,\n\t// Double large spacing (48px)\n\tXXL: 48,\n};\n\nexport const commonSpacing = {\n\tmarginTiny: SPACING.XS,\n\tmarginSmall: SPACING.SM,\n\tmarginMedium: SPACING.MD,\n\tmarginLarge: SPACING.LG,\n\tmarginXLarge: SPACING.XL,\n\tmarginXXLarge: SPACING.XXL,\n\n\tpaddingTiny: SPACING.XS,\n\tpaddingSmall: SPACING.SM,\n\tpaddingMedium: SPACING.MD,\n\tpaddingLarge: SPACING.LG,\n\tpaddingXLarge: SPACING.XL,\n\tpaddingXXLarge: SPACING.XXL,\n};\n"],"mappings":"AAAA,OAAO,MAAMA,OAAO,GAAG;EACtB;EACAC,EAAE,EAAE,CAAC;EACL;EACAC,EAAE,EAAE,CAAC;EACL;EACAC,EAAE,EAAE,EAAE;EACN;EACAC,EAAE,EAAE,EAAE;EACN;EACAC,EAAE,EAAE,EAAE;EACN;EACAC,GAAG,EAAE;AACN,CAAC;AAED,OAAO,MAAMC,aAAa,GAAG;EAC5BC,UAAU,EAAER,OAAO,CAACC,EAAE;EACtBQ,WAAW,EAAET,OAAO,CAACE,EAAE;EACvBQ,YAAY,EAAEV,OAAO,CAACG,EAAE;EACxBQ,WAAW,EAAEX,OAAO,CAACI,EAAE;EACvBQ,YAAY,EAAEZ,OAAO,CAACK,EAAE;EACxBQ,aAAa,EAAEb,OAAO,CAACM,GAAG;EAE1BQ,WAAW,EAAEd,OAAO,CAACC,EAAE;EACvBc,YAAY,EAAEf,OAAO,CAACE,EAAE;EACxBc,aAAa,EAAEhB,OAAO,CAACG,EAAE;EACzBc,YAAY,EAAEjB,OAAO,CAACI,EAAE;EACxBc,aAAa,EAAElB,OAAO,CAACK,EAAE;EACzBc,cAAc,EAAEnB,OAAO,CAACM;AACzB,CAAC","ignoreList":[]}
|
package/dist/module/js/types.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["module","exports"],"sourceRoot":"../../../src","sources":["js/types.js"],"mappings":";;AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACAA,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["module","exports"],"sources":["types.js"],"sourcesContent":["/**\n * Core type definitions for Feature Builder Mobile Extension\n * This file contains JSDoc type definitions for all major entities used throughout the feature builder\n */\n\n/**\n * @typedef {Object} FieldDefinition\n * @property {string} id - Unique identifier for the field (e.g., 'mandatory-title', 'mandatory-feature-image')\n * @property {string} type - Field data type ('string', 'number', 'boolean', 'image', 'pdf', 'link')\n * @property {string} label - Human-readable label for the field\n * @property {boolean} isMandatory - Whether this field is required for all feature definitions\n * @property {Object} [validation] - Validation rules for the field\n * @property {string} [validation.required] - Required validation message\n * @property {string} [validation.min] - Minimum length/value validation\n * @property {string} [validation.max] - Maximum length/value validation\n * @property {string} [validation.pattern] - Regex pattern for validation\n * @property {Object} [options] - Additional options specific to field type\n * @property {string} [options.placeholder] - Placeholder text for input fields\n * @property {string} [options.helpText] - Help text displayed below field\n * @property {string[]} [options.allowedTypes] - Allowed file types for file fields\n * @property {number} [options.maxSize] - Maximum file size in bytes\n * @property {number} order - Display order of the field in forms\n * @example\n * const titleField = {\n * id: 'mandatory-title',\n * type: 'string',\n * label: 'Title',\n * isMandatory: true,\n * validation: { required: 'Title is required' },\n * options: { placeholder: 'Enter feature title' },\n * order: 1\n * };\n */\n\n/**\n * @typedef {Object} FeatureDefinition\n * @property {string} id - Unique identifier for the feature definition\n * @property {string} site - Site identifier this feature belongs to\n * @property {string} title - Human-readable title for the feature\n * @property {string} displayName - Display name shown in UI\n * @property {string} icon - Icon identifier for the feature\n * @property {FieldDefinition[]} fields - Array of field definitions that make up this feature\n * @property {LayoutConfig} layout - Layout configuration for displaying listings\n * @property {string} createdAt - ISO timestamp when feature was created\n * @property {string} editedAt - ISO timestamp when feature was last edited\n * @property {string|null} deletedAt - ISO timestamp when feature was deleted (null if active)\n * @example\n * const featureDefinition = {\n * id: 'restaurant-menu',\n * site: 'pluss60-demo',\n * title: 'Restaurant Menu',\n * displayName: 'Menu Items',\n * icon: 'restaurant',\n * fields: [titleField, imageField, descriptionField],\n * layout: { type: 'round', iconGrid: false },\n * createdAt: '2023-12-01T10:00:00Z',\n * editedAt: '2023-12-01T10:00:00Z',\n * deletedAt: null\n * };\n */\n\n/**\n * @typedef {Object} LayoutConfig\n * @property {string} type - Layout type ('round', 'square', 'condensed', 'feature')\n * @property {boolean} [iconGrid] - Whether to use icon grid layout (for round/square types)\n * @property {Object} [options] - Additional layout-specific options\n * @property {number} [options.columns] - Number of columns for grid layouts\n * @property {number} [options.itemSpacing] - Spacing between items\n * @property {Object} [options.textStyling] - Text styling options\n * @example\n * const layoutConfig = {\n * type: 'round',\n * iconGrid: true,\n * options: {\n * columns: 2,\n * itemSpacing: 16,\n * textStyling: { showTitle: true, showDescription: false }\n * }\n * };\n */\n\n/**\n * @typedef {Object} Listing\n * @property {string} id - Unique identifier for the listing (UUID)\n * @property {string} featureDefinitionId - ID of the feature definition this listing belongs to\n * @property {Object} fields - Key-value pairs of field data\n * @property {string} [fields.mandatory-title] - Title field value\n * @property {string} [fields.mandatory-feature-image] - Feature image URL\n * @property {*} [fields.*] - Additional field values based on feature definition\n * @property {string} createdAt - ISO timestamp when listing was created\n * @property {string} editedAt - ISO timestamp when listing was last edited\n * @property {string|null} deletedAt - ISO timestamp when listing was deleted (null if active)\n * @property {Object} [metadata] - Additional metadata about the listing\n * @property {string} [metadata.createdBy] - User ID who created the listing\n * @property {string} [metadata.updatedBy] - User ID who last updated the listing\n * @example\n * const listing = {\n * id: '123e4567-e89b-12d3-a456-426614174000',\n * featureDefinitionId: 'restaurant-menu',\n * fields: {\n * 'mandatory-title': 'Margherita Pizza',\n * 'mandatory-feature-image': 'https://example.com/pizza.jpg',\n * 'description': 'Classic margherita with fresh basil',\n * 'price': 12.99\n * },\n * createdAt: '2023-12-01T10:00:00Z',\n * editedAt: '2023-12-01T10:00:00Z',\n * deletedAt: null\n * };\n */\n\n/**\n * @typedef {Object} ListingItem\n * @property {string} id - Listing ID\n * @property {string} title - Listing title (extracted from mandatory-title field)\n * @property {string} [image] - Listing image URL (extracted from mandatory-feature-image field)\n * @property {Object} fields - All field values for the listing\n * @property {string} featureDefinitionId - ID of parent feature definition\n * @property {FeatureDefinition} [featureDefinition] - Parent feature definition (if loaded)\n * @property {boolean} isActive - Whether listing is active (not deleted)\n * @property {string} createdAt - Creation timestamp\n * @property {string} editedAt - Last edit timestamp\n * @example\n * const listItem = {\n * id: '123e4567-e89b-12d3-a456-426614174000',\n * title: 'Margherita Pizza',\n * image: 'https://example.com/pizza.jpg',\n * fields: { 'mandatory-title': 'Margherita Pizza', ... },\n * featureDefinitionId: 'restaurant-menu',\n * featureDefinition: restaurantMenuDefinition,\n * isActive: true,\n * createdAt: '2023-12-01T10:00:00Z',\n * editedAt: '2023-12-01T10:00:00Z'\n * };\n */\n\n/**\n * @typedef {Object} FeatureBuilderState\n * @property {FeatureDefinition|null} feature - Currently loaded feature definition\n * @property {Listing[]} listings - Listings for the current feature\n * @property {boolean} loading - Global loading state\n * @property {string|null} error - Global error message\n * @example\n * const featureBuilderState = {\n * feature: restaurantMenuDefinition,\n * listings: [pizzaListing, pastaListing],\n * loading: false,\n * error: null\n * };\n */\n\n/**\n * @typedef {Object} NavigationParams\n * @property {Object} [listing] - Listing data for detail view\n * @property {FeatureDefinition} [featureDefinition] - Feature definition object\n * @property {string} [featureTitle] - Feature title for header display\n * @property {string} [mode] - Navigation mode ('view', 'edit', 'create')\n * @property {Object} [metadata] - Additional navigation metadata\n * @example\n * const navParams = {\n * listing: pizzaListing,\n * featureDefinition: restaurantMenuDefinition,\n * featureTitle: 'Restaurant Menu',\n * mode: 'view',\n * metadata: { source: 'widget' }\n * };\n */\n\n/**\n * @typedef {Object} WidgetProps\n * @property {Listing[]} items - Listings to display in widget\n * @property {FeatureDefinition} featureDefinition - Feature definition for styling\n * @property {string} colourBrandingMain - Main branding color\n * @property {Function} onItemPress - Callback when item is pressed\n * @property {Function} [onRefresh] - Callback for pull-to-refresh\n * @property {boolean} refreshing - Whether widget is currently refreshing\n * @property {Object} [style] - Additional styles for widget\n * @property {number} [maxItems] - Maximum number of items to display\n * @example\n * const widgetProps = {\n * items: [pizzaListing, pastaListing],\n * featureDefinition: restaurantMenuDefinition,\n * colourBrandingMain: '#FF6363',\n * onItemPress: (item) => navigation.navigate('Detail', { listing: item }),\n * refreshing: false,\n * onRefresh: handleRefresh,\n * maxItems: 2\n * };\n */\n\n/**\n * @typedef {Object} ApiResponse\n * @property {boolean} success - Whether the API call was successful\n * @property {*} data - Response data payload\n * @property {string} [message] - Optional message from the server\n * @property {string} [error] - Error message if the call failed\n * @property {number} [status] - HTTP status code\n * @property {Object} [metadata] - Additional response metadata\n * @example\n * const apiResponse = {\n * success: true,\n * data: { listings: [pizzaListing, pastaListing] },\n * message: 'Listings fetched successfully',\n * status: 200,\n * metadata: { count: 2, hasMore: false }\n * };\n */\n\n/**\n * @typedef {Object} FieldComponentProps\n * @property {FieldDefinition} fieldDefinition - Field definition configuration\n * @property {*} value - Current field value\n * @property {Function} onChange - Callback when field value changes\n * @property {string} [error] - Validation error message\n * @property {boolean} [disabled] - Whether field is disabled\n * @property {Object} [style] - Additional styles for field component\n * @property {Object} [theme] - Theme configuration\n * @example\n * const fieldProps = {\n * fieldDefinition: titleField,\n * value: 'Margherita Pizza',\n * onChange: (newValue) => setFieldValue('title', newValue),\n * error: null,\n * disabled: false,\n * style: { marginBottom: 16 },\n * theme: { primaryColor: '#FF6363' }\n * };\n */\n\n/**\n * @typedef {Object} LayoutComponentProps\n * @property {Listing[]} listings - Array of listings to display\n * @property {FeatureDefinition} featureDefinition - Feature definition for layout configuration\n * @property {string} colourBrandingMain - Main branding color\n * @property {Function} onItemPress - Callback when listing item is pressed\n * @property {Function} [onRefresh] - Callback for pull-to-refresh\n * @property {boolean} [refreshing] - Whether layout is currently refreshing\n * @property {Object} [style] - Additional styles for layout component\n * @property {Object} [layoutOptions] - Layout-specific options\n * @example\n * const layoutProps = {\n * listings: [pizzaListing, pastaListing],\n * featureDefinition: restaurantMenuDefinition,\n * colourBrandingMain: '#FF6363',\n * onItemPress: handleItemPress,\n * refreshing: false,\n * onRefresh: handleRefresh,\n * layoutOptions: { showImages: true, columns: 2 }\n * };\n */\n\n// Export empty object to make this a module\nmodule.exports = {};\n"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACAA,MAAM,CAACC,OAAO,GAAG,CAAC,CAAC","ignoreList":[]}
|