@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.
Files changed (99) hide show
  1. package/dist/module/actions/featureBuilderActions.js +8 -4
  2. package/dist/module/actions/featureBuilderActions.js.map +1 -1
  3. package/dist/module/actions/featureBuilderStringsActions.js +4 -6
  4. package/dist/module/actions/featureBuilderStringsActions.js.map +1 -1
  5. package/dist/module/actions/index.js +0 -2
  6. package/dist/module/actions/index.js.map +1 -1
  7. package/dist/module/actions/types.js +0 -2
  8. package/dist/module/actions/types.js.map +1 -1
  9. package/dist/module/components/FeatureDetailScreen.js +324 -355
  10. package/dist/module/components/FeatureDetailScreen.js.map +1 -1
  11. package/dist/module/components/FeatureListItem.js +38 -47
  12. package/dist/module/components/FeatureListItem.js.map +1 -1
  13. package/dist/module/components/FeatureListScreen.js +123 -94
  14. package/dist/module/components/FeatureListScreen.js.map +1 -1
  15. package/dist/module/components/FieldRenderer.js +76 -91
  16. package/dist/module/components/FieldRenderer.js.map +1 -1
  17. package/dist/module/components/FileDownload.js +23 -30
  18. package/dist/module/components/FileDownload.js.map +1 -1
  19. package/dist/module/components/WidgetGrid.js +51 -56
  20. package/dist/module/components/WidgetGrid.js.map +1 -1
  21. package/dist/module/components/WidgetLarge.js +109 -111
  22. package/dist/module/components/WidgetLarge.js.map +1 -1
  23. package/dist/module/components/WidgetSmall.js +107 -109
  24. package/dist/module/components/WidgetSmall.js.map +1 -1
  25. package/dist/module/components/common/index.js +1 -2
  26. package/dist/module/components/common/index.js.map +1 -1
  27. package/dist/module/components/layouts/CondensedList.js +64 -75
  28. package/dist/module/components/layouts/CondensedList.js.map +1 -1
  29. package/dist/module/components/layouts/FeatureImageList.js +50 -60
  30. package/dist/module/components/layouts/FeatureImageList.js.map +1 -1
  31. package/dist/module/components/layouts/RoundImageList.js +53 -62
  32. package/dist/module/components/layouts/RoundImageList.js.map +1 -1
  33. package/dist/module/components/layouts/SquareImageList.js +53 -62
  34. package/dist/module/components/layouts/SquareImageList.js.map +1 -1
  35. package/dist/module/config/index.js +0 -2
  36. package/dist/module/config/index.js.map +1 -1
  37. package/dist/module/core.config.js +1 -4
  38. package/dist/module/core.config.js.map +1 -1
  39. package/dist/module/feature.config.js +9 -8
  40. package/dist/module/feature.config.js.map +1 -1
  41. package/dist/module/index.js +0 -2
  42. package/dist/module/index.js.map +1 -1
  43. package/dist/module/js/Colors.js +0 -2
  44. package/dist/module/js/Colors.js.map +1 -1
  45. package/dist/module/js/FieldTypes.js +0 -2
  46. package/dist/module/js/FieldTypes.js.map +1 -1
  47. package/dist/module/js/NavigationService.js +0 -2
  48. package/dist/module/js/NavigationService.js.map +1 -1
  49. package/dist/module/js/Styles.js +0 -2
  50. package/dist/module/js/Styles.js.map +1 -1
  51. package/dist/module/js/helpers.js +7 -6
  52. package/dist/module/js/helpers.js.map +1 -1
  53. package/dist/module/js/index.js +0 -2
  54. package/dist/module/js/index.js.map +1 -1
  55. package/dist/module/js/spacing.js +0 -2
  56. package/dist/module/js/spacing.js.map +1 -1
  57. package/dist/module/js/types.js +0 -2
  58. package/dist/module/js/types.js.map +1 -1
  59. package/dist/module/reducers/featureBuilderReducer.js +0 -2
  60. package/dist/module/reducers/featureBuilderReducer.js.map +1 -1
  61. package/dist/module/utils/featureSelectors.js +0 -2
  62. package/dist/module/utils/featureSelectors.js.map +1 -1
  63. package/dist/module/utils/selectors.js +13 -9
  64. package/dist/module/utils/selectors.js.map +1 -1
  65. package/dist/module/values.config.a.js +0 -2
  66. package/dist/module/values.config.a.js.map +1 -1
  67. package/dist/module/values.config.b.js +0 -2
  68. package/dist/module/values.config.b.js.map +1 -1
  69. package/dist/module/values.config.c.js +0 -2
  70. package/dist/module/values.config.c.js.map +1 -1
  71. package/dist/module/values.config.d.js +0 -2
  72. package/dist/module/values.config.d.js.map +1 -1
  73. package/dist/module/values.config.default.js +2 -4
  74. package/dist/module/values.config.default.js.map +1 -1
  75. package/dist/module/values.config.js +0 -2
  76. package/dist/module/values.config.js.map +1 -1
  77. package/dist/module/webapi/featureBuilderAPI.js +0 -2
  78. package/dist/module/webapi/featureBuilderAPI.js.map +1 -1
  79. package/dist/module/webapi/helper.js +0 -2
  80. package/dist/module/webapi/helper.js.map +1 -1
  81. package/dist/module/webapi/index.js +0 -2
  82. package/dist/module/webapi/index.js.map +1 -1
  83. package/package.json +19 -14
  84. package/src/actions/featureBuilderActions.js +10 -2
  85. package/src/components/FeatureDetailScreen.js +2 -2
  86. package/src/components/FeatureListItem.js +2 -2
  87. package/src/components/FeatureListScreen.js +87 -61
  88. package/src/components/FieldRenderer.js +3 -8
  89. package/src/components/FileDownload.js +2 -2
  90. package/src/components/WidgetGrid.js +2 -1
  91. package/src/components/WidgetLarge.js +36 -28
  92. package/src/components/WidgetSmall.js +34 -26
  93. package/src/components/common/index.js +1 -0
  94. package/src/components/layouts/CondensedList.js +4 -3
  95. package/src/components/layouts/FeatureImageList.js +4 -3
  96. package/src/components/layouts/RoundImageList.js +4 -3
  97. package/src/components/layouts/SquareImageList.js +4 -3
  98. package/src/core.config.js +0 -2
  99. 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":"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","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 { View, Text, Image, StyleSheet, TouchableOpacity, FlatList } from "react-native";
5
- import { FontAwesome } from "@expo/vector-icons";
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
- const title = listing.fields?.[values.mandatoryFields.title] || "Untitled";
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?.[values.mandatoryFields.featureImage];
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__*/_jsx(TouchableOpacity, {
50
+ return /*#__PURE__*/React.createElement(TouchableOpacity, {
51
51
  style: styles.cardContainer,
52
- onPress: () => onItemPress && onItemPress(listing),
53
- children: /*#__PURE__*/_jsxs(View, {
54
- style: styles.borderContainer,
55
- children: [imageSource ? /*#__PURE__*/_jsx(Image, {
56
- source: imageSource,
57
- style: styles.squareImage
58
- }) : /*#__PURE__*/_jsx(View, {
59
- style: [styles.squareImage, styles.placeholderImage]
60
- }), /*#__PURE__*/_jsxs(View, {
61
- style: styles.contentContainer,
62
- children: [/*#__PURE__*/_jsxs(View, {
63
- style: styles.textContainer,
64
- children: [/*#__PURE__*/_jsx(Text, {
65
- style: styles.titleText,
66
- numberOfLines: 1,
67
- children: title
68
- }), /*#__PURE__*/_jsx(Text, {
69
- style: styles.descriptionText,
70
- numberOfLines: 2,
71
- children: summary
72
- })]
73
- }), /*#__PURE__*/_jsx(View, {
74
- style: styles.chevronContainer,
75
- children: /*#__PURE__*/_jsx(FontAwesome, {
76
- name: "chevron-right",
77
- size: 16,
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__*/_jsx(View, {
88
- style: styles.emptyContainer,
89
- children: /*#__PURE__*/_jsx(Components.EmptyStateWidget, {
90
- title: getEmptyStateMessage(title),
91
- height: 120
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__*/_jsxs(View, {
97
- style: styles.container,
98
- children: [/*#__PURE__*/_jsx(Components.LoadingIndicator, {
99
- visible: refreshing
100
- }), /*#__PURE__*/_jsx(FlatList, {
101
- data: listings,
102
- keyExtractor: item => item.id,
103
- renderItem: renderListingItem,
104
- contentContainerStyle: styles.scrollContainer,
105
- showsVerticalScrollIndicator: false
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__*/_jsx(FlatList, {
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,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import { Config } from "../core.config";
4
2
  export const CONST_STRINGS = {
5
3
  EMPTY_GROUPS: "You aren't in any Circles",
@@ -1 +1 @@
1
- {"version":3,"names":["Config","CONST_STRINGS","EMPTY_GROUPS","EMPTY_PEOPLE","getTinyChatDefault","env","tinyChatDefault","getNewEventDefaults","newEventDefaults"],"sourceRoot":"../../../src","sources":["config/index.js"],"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
+ {"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, Fonts, Actions, ActionTypes, Config, Components, Styles, Session, Helper, Constants, Colours };
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","Fonts","Actions","ActionTypes","Config","Components","Styles","Session","Helper","Constants","Colours"],"sourceRoot":"../../src","sources":["core.config.js"],"mappings":";;AAAA;AACA,OAAO,KAAKA,SAAS,MAAM,kCAAkC;AAE7D,MAAM;EACLC,IAAI;EACJC,KAAK;EACLC,OAAO;EACPC,WAAW;EACXC,MAAM;EACNC,UAAU;EACVC,MAAM;EACNC,OAAO;EACPC,MAAM;EACNC,SAAS;EACTC;AACD,CAAC,GAAGX,SAAS;AACb,SACCC,IAAI,EACJC,KAAK,EACLC,OAAO,EACPC,WAAW,EACXC,MAAM,EACNC,UAAU,EACVC,MAAM,EACNC,OAAO,EACPC,MAAM,EACNC,SAAS,EACTC,OAAO","ignoreList":[]}
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]?.listings || [];
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
- const title = listing.fields?.[values.mandatoryFields.title] || values.labels.defaultTitle;
25
- const imageField = listing.fields?.[values.mandatoryFields.featureImage];
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?.url) {
30
+ } else if (imageField !== null && imageField !== void 0 && imageField.url) {
31
31
  imageSource = imageField.url;
32
- } else if (imageField?.uri) {
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?.user?.site;
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"],"sourceRoot":"../../src","sources":["feature.config.js"],"mappings":"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","ignoreList":[]}
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":"AAAA,OAAOA,CAAC,MAAM,QAAQ;AACtB;AACA,OAAO,KAAKC,SAAS,MAAM,kCAAkC;AAC7D,SAASC,MAAM,QAAQ,iBAAiB;AACxC,SAASC,iBAAiB,QAAQ,iCAAiC;AACnE,SACCC,0BAA0B,EAC1BC,wBAAwB,QAClB,wCAAwC;AAE/C,OAAO,MAAMC,QAAQ,GAAG;EACvBC,UAAU,EAAE;AACb,CAAC;AAED,OAAO,MAAMC,cAAc,GAAG;EAC7BC,gBAAgB,EAAE;AACnB,CAAC;AAED,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;EACjC,OAAO,EAAE;AACV,CAAC;AAED,MAAMC,WAAW,GAAGA,CAACC,KAAK,EAAEC,QAAQ,KAAK;EAAA,IAAAC,qBAAA;EACxC,IAAI,CAACd,CAAC,CAACe,QAAQ,CAACF,QAAQ,EAAEX,MAAM,CAACc,UAAU,CAAC,EAAE,OAAO,IAAI;EAEzD,MAAMC,QAAQ,GAAG,EAAAH,qBAAA,GAAAF,KAAK,CAACV,MAAM,CAACgB,UAAU,CAAC,cAAAJ,qBAAA,uBAAxBA,qBAAA,CAA0BG,QAAQ,KAAI,EAAE;EACzD,IAAI,CAACA,QAAQ,IAAIA,QAAQ,CAACE,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEjD,MAAMC,cAAc,GAAGpB,CAAC,CAACqB,OAAO,CAC/BJ,QAAQ,EACR,CAAEK,IAAI,IAAKA,IAAI,CAACC,SAAS,IAAID,IAAI,CAACE,SAAS,CAAC,EAC5C,CAAC,MAAM,CACR,CAAC,CAACC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;EAEb,OAAOL,cAAc,CAACM,GAAG,CAAEC,OAAO,IAAK;IAAA,IAAAC,eAAA,EAAAC,gBAAA;IACtC,MAAMC,KAAK,GACV,EAAAF,eAAA,GAAAD,OAAO,CAACI,MAAM,cAAAH,eAAA,uBAAdA,eAAA,CAAiB1B,MAAM,CAAC8B,eAAe,CAACF,KAAK,CAAC,KAC9C5B,MAAM,CAAC+B,MAAM,CAACC,YAAY;IAC3B,MAAMC,UAAU,IAAAN,gBAAA,GAAGF,OAAO,CAACI,MAAM,cAAAF,gBAAA,uBAAdA,gBAAA,CAAiB3B,MAAM,CAAC8B,eAAe,CAACI,YAAY,CAAC;IACxE,IAAIC,WAAW,GAAG,IAAI;IAEtB,IAAIF,UAAU,EAAE;MACf,IAAI,OAAOA,UAAU,KAAK,QAAQ,EAAE;QACnCE,WAAW,GAAGF,UAAU;MACzB,CAAC,MAAM,IAAIA,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEG,GAAG,EAAE;QAC3BD,WAAW,GAAGF,UAAU,CAACG,GAAG;MAC7B,CAAC,MAAM,IAAIH,UAAU,aAAVA,UAAU,eAAVA,UAAU,CAAEI,GAAG,EAAE;QAC3BF,WAAW,GAAGF,UAAU,CAACI,GAAG;MAC7B;IACD;IAEA,OAAO;MACNC,EAAE,EAAEb,OAAO,CAACa,EAAE;MACdC,IAAI,EAAEvC,MAAM,CAACc,UAAU;MACvBc,KAAK,EAAEA,KAAK;MACZY,WAAW,EAAE,EAAE;MACfC,KAAK,EAAEN,WAAW;MAClBO,IAAI,EAAEjB,OAAO,CAACJ,SAAS,IAAII,OAAO,CAACH,SAAS,IAAI,CAAC;MACjDqB,IAAI,EAAElB;IACP,CAAC;EACF,CAAC,CAAC;AACH,CAAC;AAED,MAAMmB,aAAa,GAAG;EACrBC,GAAG,EAAE7C,MAAM,CAACc,UAAU;EACtBgC,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;EAC/ClB,KAAK,EAAE5B,MAAM,CAAC+C,WAAW;EAEzBC,QAAQ,EAAE;IACTC,IAAI,EAAEjD,MAAM,CAACK,UAAU,CAAC2C,QAAQ,CAACC,IAAI;IACrCC,OAAO,EAAElD,MAAM,CAACK,UAAU,CAAC2C,QAAQ,CAACE,OAAO;IAC3CC,QAAQ,EAAEnD,MAAM,CAACK,UAAU,CAAC2C,QAAQ,CAACG,QAAQ;IAC7CC,OAAO,EAAEpD,MAAM,CAACK,UAAU,CAAC2C,QAAQ,CAACI;EACrC,CAAC;EAED;EACAC,OAAO,EAAE,IAAI;EACbC,QAAQ,EAAE,IAAI;EACdC,WAAW,EAAE,IAAI;EAEjBC,YAAY,EAAE,IAAI;EAAE;EACpBC,UAAU,EAAE,IAAI;EAAE;;EAElBC,QAAQ,EAAE;IACTnB,IAAI,EAAEvC,MAAM,CAACc,UAAU;IACvB6C,IAAI,EAAE3D,MAAM,CAACc,UAAU;IACvB8C,OAAO,EAAE;MACRf,GAAG,EAAE7C,MAAM,CAACc,UAAU;MACtB6C,IAAI,EAAE;IACP,CAAC;IACDE,SAAS,EAAE7D,MAAM,CAACc,UAAU;IAC5BgD,KAAK,EAAEtD,aAAa;IACpBuD,GAAG,EAAEtD;EACN,CAAC;EAEDuD,UAAU,EAAE,EAAE;EAAE;;EAEhBC,GAAG,EAAE;IACJC,SAAS,EAAE,EAAE;IACbC,UAAU,EAAE,EAAE;IACdC,iBAAiB,EAAE,KAAK;IACxBC,mBAAmB,EAAE,EAAE;IACvBC,eAAe,EAAE,EAAE;IACnBC,cAAc,EAAE,EAAE;IAClBC,kBAAkB,EAAE,KAAK;IACzBC,iBAAiB,EAAE,KAAK;IACxBC,gBAAgB,EAAE,EAAE;IACpBC,gBAAgB,EAAE,EAAE;IACpBC,aAAa,EAAE,EAAE;IACjBC,OAAO,EAAE,CAAC,CAAC;IACXC,gBAAgB,EAAE,EAAE;IACpBC,oBAAoB,EAAE;EACvB,CAAC;EAEDC,IAAI,EAAEA,CAACC,WAAW,EAAE5E,UAAU,EAAE6E,gBAAgB,KAAK;IACpDtC,aAAa,CAACqB,GAAG,GAAGgB,WAAW;IAC/B7E,QAAQ,CAACC,UAAU,GAAGA,UAAU;IAChCC,cAAc,CAACC,gBAAgB,GAAG2E,gBAAgB;IAClDnF,SAAS,CAACoF,MAAM,CAACH,IAAI,CAACC,WAAW,EAAE5E,UAAU,CAAC;EAC/C,CAAC;EAED+E,cAAc,EAAEA,CAACC,QAAQ,EAAEC,QAAQ,KAAK;IAAA,IAAAC,WAAA;IACvC;IACA,MAAM7E,KAAK,GAAG4E,QAAQ,CAAC,CAAC;IACxB,MAAME,IAAI,GAAG9E,KAAK,aAALA,KAAK,gBAAA6E,WAAA,GAAL7E,KAAK,CAAE+E,IAAI,cAAAF,WAAA,uBAAXA,WAAA,CAAaC,IAAI;IAE9B,IAAIA,IAAI,EAAE;MACT;MACAH,QAAQ,CAACnF,0BAA0B,CAAC,YAAY,CAAC,CAAC;MAClDmF,QAAQ,CAAClF,wBAAwB,CAAC,SAAS,CAAC,CAAC;;MAE7C;MACA;MACAkF,QAAQ,CAACpF,iBAAiB,CAAC,CAAC,CAAC;IAC9B;EACD;AACD,CAAC;AAED,eAAe2C,aAAa","ignoreList":[]}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import FeatureConfig from "./feature.config";
4
2
  import featureBuilderReducer from "./reducers/featureBuilderReducer";
5
3
  import FeatureListScreen from "./components/FeatureListScreen";
@@ -1 +1 @@
1
- {"version":3,"names":["FeatureConfig","featureBuilderReducer","FeatureListScreen","FeatureDetailScreen","values","Reducers","reducerKey","Screens","screens","featureList","featureDetail","default","Config","WidgetSmall","WidgetLarge","WidgetGrid"],"sourceRoot":"../../src","sources":["index.js"],"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":[]}
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":[]}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import { Colours } from "../core.config";
4
2
  export const getMainBrandingColourFromState = Colours.getMainBrandingColourFromState;
5
3
  export const getLightBrandingColourFromState = Colours.getLightBrandingColourFromState;
@@ -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"],"sourceRoot":"../../../src","sources":["js/Colors.js"],"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
+ {"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,5 +1,3 @@
1
- "use strict";
2
-
3
1
  /**
4
2
  * Field Types Constants for Feature Builder
5
3
  * Defines all supported field types and their properties
@@ -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"],"sourceRoot":"../../../src","sources":["js/FieldTypes.js"],"mappings":"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","ignoreList":[]}
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,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import { Services } from "../feature.config";
4
2
  const navService = {
5
3
  navigate: (routeName, params) => Services.navigation.navigate(routeName, params),
@@ -1 +1 @@
1
- {"version":3,"names":["Services","navService","navigate","routeName","params","navigation","goBack","getParentRoute"],"sourceRoot":"../../../src","sources":["js/NavigationService.js"],"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":[]}
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":[]}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import { Styles } from "../core.config";
4
2
  export default Styles;
5
3
  //# sourceMappingURL=Styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Styles"],"sourceRoot":"../../../src","sources":["js/Styles.js"],"mappings":";;AAAA,SAASA,MAAM,QAAQ,gBAAgB;AAEvC,eAAeA,MAAM","ignoreList":[]}
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?.fields?.find(field => field.useAsSummary === true);
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
- return listing.fields?.[summaryField.id] || "";
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?.fields?.find(field => field.type === "description");
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
- return listing.fields?.[descriptionField.id] || "";
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"],"sourceRoot":"../../../src","sources":["js/helpers.js"],"mappings":";;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,oBAAoB,GAAGA,CAACC,OAAO,EAAEC,iBAAiB,KAAK;EACnE;EACA,MAAMC,YAAY,GAAGD,iBAAiB,EAAEE,MAAM,EAAEC,IAAI,CAClDC,KAAK,IAAKA,KAAK,CAACC,YAAY,KAAK,IACnC,CAAC;EACD,IAAIJ,YAAY,EAAE;IACjB,OAAOF,OAAO,CAACG,MAAM,GAAGD,YAAY,CAACK,EAAE,CAAC,IAAI,EAAE;EAC/C;;EAEA;EACA,MAAMC,gBAAgB,GAAGP,iBAAiB,EAAEE,MAAM,EAAEC,IAAI,CACtDC,KAAK,IAAKA,KAAK,CAACI,IAAI,KAAK,aAC3B,CAAC;EACD,IAAID,gBAAgB,EAAE;IACrB,OAAOR,OAAO,CAACG,MAAM,GAAGK,gBAAgB,CAACD,EAAE,CAAC,IAAI,EAAE;EACnD;EAEA,OAAO,EAAE;AACV,CAAC","ignoreList":[]}
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":[]}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  import { Session, Helper } from "../core.config";
4
2
 
5
3
  // Session
@@ -1 +1 @@
1
- {"version":3,"names":["Session","Helper","authedFunction","request","result","getSessionTokenAWS","getSessionUidAWS","getFirstName","getImageSource","StatusBarHeight","getPluralS","getShadowStyle","getSite","getValueOrDefault","usersToSearchResult","searchUsers"],"sourceRoot":"../../../src","sources":["js/index.js"],"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
+ {"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,5 +1,3 @@
1
- "use strict";
2
-
3
1
  export const SPACING = {
4
2
  // Base spacing unit (4px)
5
3
  XS: 4,
@@ -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"],"sourceRoot":"../../../src","sources":["js/spacing.js"],"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":[]}
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":[]}
@@ -1,5 +1,3 @@
1
- "use strict";
2
-
3
1
  /**
4
2
  * Core type definitions for Feature Builder Mobile Extension
5
3
  * This file contains JSDoc type definitions for all major entities used throughout the feature builder
@@ -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":[]}