@wavemaker/app-rn-runtime 11.11.6-rc.6189 → 11.11.7-rc.217

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 (45) hide show
  1. package/components/basic/button/button.component.js +0 -5
  2. package/components/basic/button/button.component.js.map +1 -1
  3. package/components/basic/icon/icon.component.js +5 -5
  4. package/components/basic/icon/icon.component.js.map +1 -1
  5. package/components/basic/icon/icon.props.js +1 -0
  6. package/components/basic/icon/icon.props.js.map +1 -1
  7. package/components/basic/label/label.props.js +1 -1
  8. package/components/basic/label/label.props.js.map +1 -1
  9. package/components/basic/picture/picture.component.js +5 -2
  10. package/components/basic/picture/picture.component.js.map +1 -1
  11. package/components/basic/picture/picture.props.js +1 -0
  12. package/components/basic/picture/picture.props.js.map +1 -1
  13. package/components/chart/basechart.component.js +11 -15
  14. package/components/chart/basechart.component.js.map +1 -1
  15. package/components/data/list/list.component.js +22 -4
  16. package/components/data/list/list.component.js.map +1 -1
  17. package/components/data/list/list.props.js +2 -0
  18. package/components/data/list/list.props.js.map +1 -1
  19. package/components/data/list/list.styles.js +1 -0
  20. package/components/data/list/list.styles.js.map +1 -1
  21. package/components/input/switch/switch.component.js +1 -1
  22. package/components/input/switch/switch.component.js.map +1 -1
  23. package/components/input/switch/switch.styles.js +14 -10
  24. package/components/input/switch/switch.styles.js.map +1 -1
  25. package/components/page/partial-container/partial-container.component.js +5 -1
  26. package/components/page/partial-container/partial-container.component.js.map +1 -1
  27. package/components/page/partial-container/partial-container.props.js +1 -0
  28. package/components/page/partial-container/partial-container.props.js.map +1 -1
  29. package/core/AppConfig.js.map +1 -1
  30. package/core/accessibility.js +15 -1
  31. package/core/accessibility.js.map +1 -1
  32. package/core/partial.service.js.map +1 -1
  33. package/core/responsive.utils.js +48 -0
  34. package/core/responsive.utils.js.map +1 -0
  35. package/core/tappable.component.js +2 -2
  36. package/core/tappable.component.js.map +1 -1
  37. package/core/utils.js +13 -0
  38. package/core/utils.js.map +1 -1
  39. package/npm-shrinkwrap.json +60 -58
  40. package/package-lock.json +60 -58
  41. package/package.json +2 -2
  42. package/runtime/services/partial.service.js +12 -1
  43. package/runtime/services/partial.service.js.map +1 -1
  44. package/styles/theme.js +27 -8
  45. package/styles/theme.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n preferences:any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n revertLayoutToExpo50: boolean,\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }, \n pageScrollTopThreshold: number;\n edgeToEdgeConfig:any;\n}"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["AppConfig.ts"],"sourcesContent":["export interface Drawer {\n setContent: (c: React.ReactNode) => void;\n getContent: () => React.ReactNode;\n setAnimation: (animation: string) => void;\n getAnimation: () => string;\n}\n\nexport default interface AppConfig {\n appId: string;\n assets: any;\n appProperties: any;\n appLocale: any;\n url: string;\n leftNavWidth: any;\n loadApp: boolean;\n refresh: (complete?: boolean) => void,\n currentPage?: any;\n pages?: any[];\n landingPage: string;\n partials?: any[];\n drawer: Drawer;\n app: any;\n spinner: any;\n setDrawerContent: any;\n theme: any;\n drawerType: any;\n preferences:any;\n getServiceDefinitions: any;\n loggedInUser: any;\n selectedLocale: string;\n revertLayoutToExpo50: boolean,\n diagnostics: {\n appStartTime: number,\n appReadyTime: number,\n pageStartTime: number,\n pageReadyTime: number\n }, \n pageScrollTopThreshold: number;\n edgeToEdgeConfig:any;\n prefabs?: {\n partials?: any[]\n }\n}"],"mappings":"","ignoreList":[]}
@@ -37,6 +37,7 @@ export let AccessibilityWidgetType = /*#__PURE__*/function (AccessibilityWidgetT
37
37
  AccessibilityWidgetType["LINECHART"] = "linechart";
38
38
  AccessibilityWidgetType["SLIDER"] = "slider";
39
39
  AccessibilityWidgetType["BOTTOMSHEET"] = "bottomsheet";
40
+ AccessibilityWidgetType["TABS"] = "tab";
40
41
  return AccessibilityWidgetType;
41
42
  }({});
42
43
  ;
@@ -60,7 +61,6 @@ export const getAccessibilityProps = (widgetType, accessibilityProps) => {
60
61
  case AccessibilityWidgetType.ANCHOR:
61
62
  case AccessibilityWidgetType.MESSAGE:
62
63
  case AccessibilityWidgetType.SEARCH:
63
- case AccessibilityWidgetType.PICTURE:
64
64
  case AccessibilityWidgetType.ICON:
65
65
  case AccessibilityWidgetType.NAV:
66
66
  case AccessibilityWidgetType.POVOVER:
@@ -69,6 +69,7 @@ export const getAccessibilityProps = (widgetType, accessibilityProps) => {
69
69
  case AccessibilityWidgetType.LINECHART:
70
70
  case AccessibilityWidgetType.SLIDER:
71
71
  case AccessibilityWidgetType.VIDEO:
72
+ case AccessibilityWidgetType.TABS:
72
73
  {
73
74
  var _accessibilityProps$c;
74
75
  props.accessibilityLabel = accessibilityProps.accessibilitylabel || ((_accessibilityProps$c = accessibilityProps.caption) === null || _accessibilityProps$c === void 0 ? void 0 : _accessibilityProps$c.toString());
@@ -95,6 +96,12 @@ export const getAccessibilityProps = (widgetType, accessibilityProps) => {
95
96
  };
96
97
  }
97
98
  if (widgetType === AccessibilityWidgetType.TOGGLE) {
99
+ props.accessibilityState = {
100
+ ...props.accessibilityState,
101
+ checked: accessibilityProps.selected
102
+ };
103
+ }
104
+ if (widgetType === AccessibilityWidgetType.TABS) {
98
105
  props.accessibilityState = {
99
106
  ...props.accessibilityState,
100
107
  selected: accessibilityProps.selected
@@ -151,6 +158,13 @@ export const getAccessibilityProps = (widgetType, accessibilityProps) => {
151
158
  props.accessibilityRole = accessibilityProps.accessibilityrole;
152
159
  break;
153
160
  }
161
+ case AccessibilityWidgetType.PICTURE:
162
+ {
163
+ props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.alttext || 'Image';
164
+ props.accessibilityHint = accessibilityProps.hint;
165
+ props.accessibilityRole = accessibilityProps.accessibilityrole;
166
+ break;
167
+ }
154
168
  default:
155
169
  break;
156
170
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","props","accessible","BUTTON","TEXT","NUMBER","TEXTAREA","SELECT","CURRENCY","TOGGLE","DATE","LABEL","ANCHOR","MESSAGE","SEARCH","PICTURE","ICON","NAV","POVOVER","BOTTOMSHEET","WEBVIEW","LINECHART","SLIDER","VIDEO","_accessibilityProps$c","accessibilityLabel","accessibilitylabel","caption","toString","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityState","disabled","accessibilityLabelledBy","accessibilitylabelledby","accessibilityValue","min","minvalue","max","maxvalue","expanded","selected","CHIPS","_accessibilityProps$c2","RADIOSET","readonly","CHECKBOX","_accessibilityProps$c3","checked","SWITCH","_accessibilityProps$c4","PROGRESSBAR","PROGRESSCIRCLE","_accessibilityProps$c5","finalProps"],"sources":["accessibility.ts"],"sourcesContent":["import { AccessibilityInfo } from 'react-native';\nimport { isAndroid, isWebPreviewMode, removeUndefinedKeys } from './utils';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener(\n 'screenReaderChanged',\n flag => {\n _isScreenReaderEnabled = flag;\n },\n);\n\nexport const isScreenReaderEnabled = () => _isScreenReaderEnabled;\n\nasync function getScreenReaderStatus() {\n _isScreenReaderEnabled = (!isWebPreviewMode() && await AccessibilityInfo.isScreenReaderEnabled());\n}\n\ngetScreenReaderStatus();\n\nexport enum AccessibilityWidgetType {\n BUTTON = 'button',\n PICTURE = 'picture',\n TEXT = 'text',\n NUMBER = 'number',\n TEXTAREA = 'textarea',\n SELECT = 'select',\n CHIPS = 'chips',\n CURRENCY = 'currency',\n RADIOSET = 'radioset',\n CHECKBOX = 'checkbox',\n TOGGLE = 'toggle',\n SWITCH = 'switch',\n DATE = 'date',\n VIDEO = 'video',\n PROGRESSBAR = 'progressbar',\n PROGRESSCIRCLE = 'progresscircle',\n LABEL = 'label',\n ANCHOR = 'anchor',\n MESSAGE = 'message',\n SEARCH = 'search',\n ICON = 'icon',\n NAV = 'nav',\n POVOVER = 'popover',\n WEBVIEW = 'webview',\n LINECHART = 'linechart',\n SLIDER = 'slider',\n BOTTOMSHEET='bottomsheet'\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'link' | 'header' | 'search' | 'image' | 'imagebutton' | 'none' | 'summary' | 'text' | 'progressbar' | 'grid' | 'alert';\n accessibilityState?: {\n disabled?: boolean;\n selected?: boolean;\n checked?: boolean;\n expanded?: boolean;\n };\n accessibilityValue?: {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n };\n accessibilityActions?: Array<{\n name: string;\n label?: string;\n }>;\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\n accessibilityLanguage?: any;\n accessibilityElementsHidden?: boolean;\n accessibilityViewIsModal?: boolean;\n};\n \n\nexport const getAccessibilityProps = (widgetType: AccessibilityWidgetType, accessibilityProps: AccessibilityPropsType | any) => {\n let props: AccessibilityPropsType = {accessible: true};\n if (!_isScreenReaderEnabled || isWebPreviewMode()) {\n return {};\n }\n switch (widgetType) {\n case AccessibilityWidgetType.BUTTON:\n case AccessibilityWidgetType.TEXT:\n case AccessibilityWidgetType.NUMBER:\n case AccessibilityWidgetType.TEXTAREA:\n case AccessibilityWidgetType.SELECT:\n case AccessibilityWidgetType.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\n case AccessibilityWidgetType.ANCHOR:\n case AccessibilityWidgetType.MESSAGE: \n case AccessibilityWidgetType.SEARCH: \n case AccessibilityWidgetType.PICTURE: \n case AccessibilityWidgetType.ICON:\n case AccessibilityWidgetType.NAV:\n case AccessibilityWidgetType.POVOVER:\n case AccessibilityWidgetType.BOTTOMSHEET:\n case AccessibilityWidgetType.WEBVIEW:\n case AccessibilityWidgetType.LINECHART:\n case AccessibilityWidgetType.SLIDER:\n case AccessibilityWidgetType.VIDEO: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n\n if (\n widgetType === AccessibilityWidgetType.BUTTON ||\n widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.TOGGLE ||\n widgetType === AccessibilityWidgetType.DATE\n ) {\n props.accessibilityState = { disabled: accessibilityProps.disabled };\n }\n if (\n (widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.CURRENCY ||\n widgetType === AccessibilityWidgetType.TOGGLE) &&\n isAndroid()\n ) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n if (\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.CURRENCY\n ) {\n props.accessibilityValue = {\n min: accessibilityProps.minvalue,\n max: accessibilityProps.maxvalue,\n };\n }\n if (widgetType === AccessibilityWidgetType.SELECT) {\n props.accessibilityState = {\n ...props.accessibilityState,\n expanded: accessibilityProps.expanded,\n };\n }\n if (widgetType === AccessibilityWidgetType.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.CHIPS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n case AccessibilityWidgetType.PROGRESSBAR:\n case AccessibilityWidgetType.PROGRESSCIRCLE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n default:\n break;\n }\n\n const finalProps = removeUndefinedKeys(props);\n // console.log('finalProps', finalProps)\n\n return finalProps;\n}"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","props","accessible","BUTTON","TEXT","NUMBER","TEXTAREA","SELECT","CURRENCY","TOGGLE","DATE","LABEL","ANCHOR","MESSAGE","SEARCH","ICON","NAV","POVOVER","BOTTOMSHEET","WEBVIEW","LINECHART","SLIDER","VIDEO","TABS","_accessibilityProps$c","accessibilityLabel","accessibilitylabel","caption","toString","accessibilityHint","hint","accessibilityRole","accessibilityrole","accessibilityState","disabled","accessibilityLabelledBy","accessibilitylabelledby","accessibilityValue","min","minvalue","max","maxvalue","expanded","checked","selected","CHIPS","_accessibilityProps$c2","RADIOSET","readonly","CHECKBOX","_accessibilityProps$c3","SWITCH","_accessibilityProps$c4","PROGRESSBAR","PROGRESSCIRCLE","_accessibilityProps$c5","PICTURE","alttext","finalProps"],"sources":["accessibility.ts"],"sourcesContent":["import { AccessibilityInfo } from 'react-native';\nimport { isAndroid, isWebPreviewMode, removeUndefinedKeys } from './utils';\n\nlet _isScreenReaderEnabled = false;\n\nAccessibilityInfo.addEventListener(\n 'screenReaderChanged',\n flag => {\n _isScreenReaderEnabled = flag;\n },\n);\n\nexport const isScreenReaderEnabled = () => _isScreenReaderEnabled;\n\nasync function getScreenReaderStatus() {\n _isScreenReaderEnabled = (!isWebPreviewMode() && await AccessibilityInfo.isScreenReaderEnabled());\n}\n\ngetScreenReaderStatus();\n\nexport enum AccessibilityWidgetType {\n BUTTON = 'button',\n PICTURE = 'picture',\n TEXT = 'text',\n NUMBER = 'number',\n TEXTAREA = 'textarea',\n SELECT = 'select',\n CHIPS = 'chips',\n CURRENCY = 'currency',\n RADIOSET = 'radioset',\n CHECKBOX = 'checkbox',\n TOGGLE = 'toggle',\n SWITCH = 'switch',\n DATE = 'date',\n VIDEO = 'video',\n PROGRESSBAR = 'progressbar',\n PROGRESSCIRCLE = 'progresscircle',\n LABEL = 'label',\n ANCHOR = 'anchor',\n MESSAGE = 'message',\n SEARCH = 'search',\n ICON = 'icon',\n NAV = 'nav',\n POVOVER = 'popover',\n WEBVIEW = 'webview',\n LINECHART = 'linechart',\n SLIDER = 'slider',\n BOTTOMSHEET='bottomsheet',\n TABS = 'tab'\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'link' | 'header' | 'search' | 'image' | 'imagebutton' | 'none' | 'summary' | 'text' | 'progressbar' | 'grid' | 'alert' | 'tab';\n accessibilityState?: {\n disabled?: boolean;\n selected?: boolean;\n checked?: boolean;\n expanded?: boolean;\n };\n accessibilityValue?: {\n min?: number;\n max?: number;\n now?: number;\n text?: string;\n };\n accessibilityActions?: Array<{\n name: string;\n label?: string;\n }>;\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\n accessibilityLanguage?: any;\n accessibilityElementsHidden?: boolean;\n accessibilityViewIsModal?: boolean;\n};\n \n\nexport const getAccessibilityProps = (widgetType: AccessibilityWidgetType, accessibilityProps: AccessibilityPropsType | any) => {\n let props: AccessibilityPropsType = {accessible: true};\n if (!_isScreenReaderEnabled || isWebPreviewMode()) {\n return {};\n }\n switch (widgetType) {\n case AccessibilityWidgetType.BUTTON:\n case AccessibilityWidgetType.TEXT:\n case AccessibilityWidgetType.NUMBER:\n case AccessibilityWidgetType.TEXTAREA:\n case AccessibilityWidgetType.SELECT:\n case AccessibilityWidgetType.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\n case AccessibilityWidgetType.ANCHOR:\n case AccessibilityWidgetType.MESSAGE: \n case AccessibilityWidgetType.SEARCH: \n case AccessibilityWidgetType.ICON:\n case AccessibilityWidgetType.NAV:\n case AccessibilityWidgetType.POVOVER:\n case AccessibilityWidgetType.BOTTOMSHEET:\n case AccessibilityWidgetType.WEBVIEW:\n case AccessibilityWidgetType.LINECHART:\n case AccessibilityWidgetType.SLIDER:\n case AccessibilityWidgetType.VIDEO: \n case AccessibilityWidgetType.TABS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n\n if (\n widgetType === AccessibilityWidgetType.BUTTON ||\n widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.TOGGLE ||\n widgetType === AccessibilityWidgetType.DATE\n ) {\n props.accessibilityState = { disabled: accessibilityProps.disabled };\n }\n if (\n (widgetType === AccessibilityWidgetType.TEXT ||\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.TEXTAREA ||\n widgetType === AccessibilityWidgetType.SELECT ||\n widgetType === AccessibilityWidgetType.CURRENCY ||\n widgetType === AccessibilityWidgetType.TOGGLE) &&\n isAndroid()\n ) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n if (\n widgetType === AccessibilityWidgetType.NUMBER ||\n widgetType === AccessibilityWidgetType.CURRENCY\n ) {\n props.accessibilityValue = {\n min: accessibilityProps.minvalue,\n max: accessibilityProps.maxvalue,\n };\n }\n if (widgetType === AccessibilityWidgetType.SELECT) {\n props.accessibilityState = {\n ...props.accessibilityState,\n expanded: accessibilityProps.expanded,\n };\n }\n if (widgetType === AccessibilityWidgetType.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n checked: accessibilityProps.selected,\n };\n }\n if (widgetType === AccessibilityWidgetType.TABS) {\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.CHIPS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityState = {\n disabled: accessibilityProps.disabled,\n selected: accessibilityProps.selected,\n };\n break;\n }\n case AccessibilityWidgetType.PROGRESSBAR:\n case AccessibilityWidgetType.PROGRESSCIRCLE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n case AccessibilityWidgetType.PICTURE: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.alttext || 'Image';\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole;\n break;\n }\n default:\n break;\n }\n\n const finalProps = removeUndefinedKeys(props);\n // console.log('finalProps', finalProps)\n\n return finalProps;\n}"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,cAAc;AAChD,SAASC,SAAS,EAAEC,gBAAgB,EAAEC,mBAAmB,QAAQ,SAAS;AAE1E,IAAIC,sBAAsB,GAAG,KAAK;AAElCJ,iBAAiB,CAACK,gBAAgB,CAChC,qBAAqB,EACrBC,IAAI,IAAI;EACNF,sBAAsB,GAAGE,IAAI;AAC/B,CACF,CAAC;AAED,OAAO,MAAMC,qBAAqB,GAAGA,CAAA,KAAMH,sBAAsB;AAEjE,eAAeI,qBAAqBA,CAAA,EAAG;EACrCJ,sBAAsB,GAAI,CAACF,gBAAgB,CAAC,CAAC,KAAI,MAAMF,iBAAiB,CAACO,qBAAqB,CAAC,CAAC,CAAC;AACnG;AAEAC,qBAAqB,CAAC,CAAC;AAEvB,WAAYC,uBAAuB,0BAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AA6BlC;AAgCD,OAAO,MAAMC,qBAAqB,GAAGA,CAACC,UAAmC,EAAEC,kBAAgD,KAAK;EAC9H,IAAIC,KAA6B,GAAG;IAACC,UAAU,EAAE;EAAI,CAAC;EACtD,IAAI,CAACV,sBAAsB,IAAIF,gBAAgB,CAAC,CAAC,EAAE;IACjD,OAAO,CAAC,CAAC;EACX;EACA,QAAQS,UAAU;IAChB,KAAKF,uBAAuB,CAACM,MAAM;IACnC,KAAKN,uBAAuB,CAACO,IAAI;IACjC,KAAKP,uBAAuB,CAACQ,MAAM;IACnC,KAAKR,uBAAuB,CAACS,QAAQ;IACrC,KAAKT,uBAAuB,CAACU,MAAM;IACnC,KAAKV,uBAAuB,CAACW,QAAQ;IACrC,KAAKX,uBAAuB,CAACY,MAAM;IACnC,KAAKZ,uBAAuB,CAACa,IAAI;IACjC,KAAKb,uBAAuB,CAACc,KAAK;IAClC,KAAKd,uBAAuB,CAACe,MAAM;IACnC,KAAKf,uBAAuB,CAACgB,OAAO;IACpC,KAAKhB,uBAAuB,CAACiB,MAAM;IACnC,KAAKjB,uBAAuB,CAACkB,IAAI;IACjC,KAAKlB,uBAAuB,CAACmB,GAAG;IAChC,KAAKnB,uBAAuB,CAACoB,OAAO;IACpC,KAAKpB,uBAAuB,CAACqB,WAAW;IACxC,KAAKrB,uBAAuB,CAACsB,OAAO;IACpC,KAAKtB,uBAAuB,CAACuB,SAAS;IACtC,KAAKvB,uBAAuB,CAACwB,MAAM;IACnC,KAAKxB,uBAAuB,CAACyB,KAAK;IAClC,KAAKzB,uBAAuB,CAAC0B,IAAI;MAAE;QAAA,IAAAC,qBAAA;QACjCvB,KAAK,CAACwB,kBAAkB,GAAGzB,kBAAkB,CAAC0B,kBAAkB,MAAAF,qBAAA,GAAIxB,kBAAkB,CAAC2B,OAAO,cAAAH,qBAAA,uBAA1BA,qBAAA,CAA4BI,QAAQ,CAAC,CAAC;QAC1G3B,KAAK,CAAC4B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,IAAI;QACjD7B,KAAK,CAAC8B,iBAAiB,GAAG/B,kBAAkB,CAACgC,iBAAiB;QAE9D,IACEjC,UAAU,KAAKF,uBAAuB,CAACM,MAAM,IAC7CJ,UAAU,KAAKF,uBAAuB,CAACO,IAAI,IAC3CL,UAAU,KAAKF,uBAAuB,CAACQ,MAAM,IAC7CN,UAAU,KAAKF,uBAAuB,CAACS,QAAQ,IAC/CP,UAAU,KAAKF,uBAAuB,CAACU,MAAM,IAC7CR,UAAU,KAAKF,uBAAuB,CAACY,MAAM,IAC7CV,UAAU,KAAKF,uBAAuB,CAACa,IAAI,EAC3C;UACAT,KAAK,CAACgC,kBAAkB,GAAG;YAAEC,QAAQ,EAAElC,kBAAkB,CAACkC;UAAS,CAAC;QACtE;QACA,IACE,CAACnC,UAAU,KAAKF,uBAAuB,CAACO,IAAI,IAC1CL,UAAU,KAAKF,uBAAuB,CAACQ,MAAM,IAC7CN,UAAU,KAAKF,uBAAuB,CAACS,QAAQ,IAC/CP,UAAU,KAAKF,uBAAuB,CAACU,MAAM,IAC7CR,UAAU,KAAKF,uBAAuB,CAACW,QAAQ,IAC/CT,UAAU,KAAKF,uBAAuB,CAACY,MAAM,KAC/CpB,SAAS,CAAC,CAAC,EACX;UACAY,KAAK,CAACkC,uBAAuB,GAC3BnC,kBAAkB,CAACoC,uBAAuB;QAC9C;QACA,IACErC,UAAU,KAAKF,uBAAuB,CAACQ,MAAM,IAC7CN,UAAU,KAAKF,uBAAuB,CAACW,QAAQ,EAC/C;UACAP,KAAK,CAACoC,kBAAkB,GAAG;YACzBC,GAAG,EAAEtC,kBAAkB,CAACuC,QAAQ;YAChCC,GAAG,EAAExC,kBAAkB,CAACyC;UAC1B,CAAC;QACH;QACA,IAAI1C,UAAU,KAAKF,uBAAuB,CAACU,MAAM,EAAE;UACjDN,KAAK,CAACgC,kBAAkB,GAAG;YACzB,GAAGhC,KAAK,CAACgC,kBAAkB;YAC3BS,QAAQ,EAAE1C,kBAAkB,CAAC0C;UAC/B,CAAC;QACH;QACA,IAAI3C,UAAU,KAAKF,uBAAuB,CAACY,MAAM,EAAE;UACjDR,KAAK,CAACgC,kBAAkB,GAAG;YACzB,GAAGhC,KAAK,CAACgC,kBAAkB;YAC3BU,OAAO,EAAE3C,kBAAkB,CAAC4C;UAC9B,CAAC;QACH;QACA,IAAI7C,UAAU,KAAKF,uBAAuB,CAAC0B,IAAI,EAAE;UAC/CtB,KAAK,CAACgC,kBAAkB,GAAG;YACzB,GAAGhC,KAAK,CAACgC,kBAAkB;YAC3BW,QAAQ,EAAE5C,kBAAkB,CAAC4C;UAC/B,CAAC;QACH;QACA;MACF;IAEA,KAAK/C,uBAAuB,CAACgD,KAAK;MAAE;QAAA,IAAAC,sBAAA;QAClC7C,KAAK,CAACwB,kBAAkB,GAAGzB,kBAAkB,CAAC0B,kBAAkB,MAAAoB,sBAAA,GAAI9C,kBAAkB,CAAC2B,OAAO,cAAAmB,sBAAA,uBAA1BA,sBAAA,CAA4BlB,QAAQ,CAAC,CAAC;QAC1G3B,KAAK,CAAC4B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,IAAI;QACjD7B,KAAK,CAACgC,kBAAkB,GAAG;UACzBC,QAAQ,EAAElC,kBAAkB,CAACkC,QAAQ;UACrCU,QAAQ,EAAE5C,kBAAkB,CAAC4C;QAC/B,CAAC;QACD;MACF;IAEA,KAAK/C,uBAAuB,CAACkD,QAAQ;MAAE;QACrC9C,KAAK,CAACgC,kBAAkB,GAAG;UACzBC,QAAQ,EAAElC,kBAAkB,CAACgD,QAAQ,IAAIhD,kBAAkB,CAACkC,QAAQ;UACpEU,QAAQ,EAAE5C,kBAAkB,CAAC4C;QAC/B,CAAC;QACD;MACF;IAEA,KAAK/C,uBAAuB,CAACoD,QAAQ;MAAE;QAAA,IAAAC,sBAAA;QACrCjD,KAAK,CAACwB,kBAAkB,GAAGzB,kBAAkB,CAAC0B,kBAAkB,MAAAwB,sBAAA,GAAIlD,kBAAkB,CAAC2B,OAAO,cAAAuB,sBAAA,uBAA1BA,sBAAA,CAA4BtB,QAAQ,CAAC,CAAC;QAC1G3B,KAAK,CAAC4B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,IAAI;QACjD7B,KAAK,CAACgC,kBAAkB,GAAG;UACzBC,QAAQ,EAAElC,kBAAkB,CAACgD,QAAQ,IAAKhD,kBAAkB,CAACkC,QAAQ;UACrES,OAAO,EAAE3C,kBAAkB,CAAC2C;QAC9B,CAAC;QACD;MACF;IAEA,KAAK9C,uBAAuB,CAACsD,MAAM;MAAE;QAAA,IAAAC,sBAAA;QACnCnD,KAAK,CAACwB,kBAAkB,GAAGzB,kBAAkB,CAAC0B,kBAAkB,MAAA0B,sBAAA,GAAIpD,kBAAkB,CAAC2B,OAAO,cAAAyB,sBAAA,uBAA1BA,sBAAA,CAA4BxB,QAAQ,CAAC,CAAC;QAC1G3B,KAAK,CAAC4B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,IAAI;QACjD7B,KAAK,CAACgC,kBAAkB,GAAG;UACzBC,QAAQ,EAAElC,kBAAkB,CAACkC,QAAQ;UACrCU,QAAQ,EAAE5C,kBAAkB,CAAC4C;QAC/B,CAAC;QACD;MACF;IACA,KAAK/C,uBAAuB,CAACwD,WAAW;IACxC,KAAKxD,uBAAuB,CAACyD,cAAc;MAAE;QAAA,IAAAC,sBAAA;QAC3CtD,KAAK,CAACwB,kBAAkB,GAAGzB,kBAAkB,CAAC0B,kBAAkB,MAAA6B,sBAAA,GAAIvD,kBAAkB,CAAC2B,OAAO,cAAA4B,sBAAA,uBAA1BA,sBAAA,CAA4B3B,QAAQ,CAAC,CAAC;QAC1G3B,KAAK,CAAC8B,iBAAiB,GAAG/B,kBAAkB,CAACgC,iBAAiB;QAC9D;MACF;IACA,KAAKnC,uBAAuB,CAAC2D,OAAO;MAAE;QACpCvD,KAAK,CAACwB,kBAAkB,GAAGzB,kBAAkB,CAAC0B,kBAAkB,IAAI1B,kBAAkB,CAACyD,OAAO,IAAI,OAAO;QACzGxD,KAAK,CAAC4B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,IAAI;QACjD7B,KAAK,CAAC8B,iBAAiB,GAAG/B,kBAAkB,CAACgC,iBAAiB;QAC9D;MACF;IACA;MACE;EACJ;EAEA,MAAM0B,UAAU,GAAGnE,mBAAmB,CAACU,KAAK,CAAC;EAC7C;;EAEA,OAAOyD,UAAU;AACnB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","PartialContext","createContext","PartialProvider","Provider","PartialConsumer","Consumer"],"sources":["partial.service.ts"],"sourcesContent":["import React from 'react';\n\nexport default interface PartialService {\n get: (partialName: string) => any;\n}\n\nconst PartialContext = React.createContext<PartialService>(null as any);\n\nexport const PartialProvider = PartialContext.Provider;\nexport const PartialConsumer = PartialContext.Consumer;"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,MAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAa,CAAiB,IAAW,CAAC;AAEvE,OAAO,MAAMC,eAAe,GAAGF,cAAc,CAACG,QAAQ;AACtD,OAAO,MAAMC,eAAe,GAAGJ,cAAc,CAACK,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["React","PartialContext","createContext","PartialProvider","Provider","PartialConsumer","Consumer"],"sources":["partial.service.ts"],"sourcesContent":["import React from 'react';\n\nexport default interface PartialService {\n get: (partialName: string, params?: {isPrefab: boolean, name: string}) => any;\n}\n\nconst PartialContext = React.createContext<PartialService>(null as any);\n\nexport const PartialProvider = PartialContext.Provider;\nexport const PartialConsumer = PartialContext.Consumer;"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAMzB,MAAMC,cAAc,gBAAGD,KAAK,CAACE,aAAa,CAAiB,IAAW,CAAC;AAEvE,OAAO,MAAMC,eAAe,GAAGF,cAAc,CAACG,QAAQ;AACtD,OAAO,MAAMC,eAAe,GAAGJ,cAAc,CAACK,QAAQ","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ import _viewPort from './viewport';
2
+ import { DEVICE_BREAK_POINTS, DEVICE_BREAK_POINTS_NATIVE_MOBILE } from '../styles/theme';
3
+ import { Platform } from 'react-native';
4
+ /**
5
+ * Determines the current responsive breakpoint based on viewport width and pixel ratio
6
+ * @returns The current breakpoint ('xs' | 'sm' | 'md' | 'lg')
7
+ *
8
+ */
9
+ export const getCurrentBreakpoint = () => {
10
+ const width = _viewPort.width;
11
+ if (width >= (Platform.OS === 'web' ? parseInt(DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE) : parseInt(DEVICE_BREAK_POINTS_NATIVE_MOBILE.MIN_LARGE_DEVICE))) {
12
+ return 'lg';
13
+ } else if (width >= (Platform.OS === 'web' ? parseInt(DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE) : parseInt(DEVICE_BREAK_POINTS_NATIVE_MOBILE.MIN_MEDIUM_DEVICE))) {
14
+ return 'md';
15
+ } else if (width >= (Platform.OS === 'web' ? parseInt(DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE) : parseInt(DEVICE_BREAK_POINTS_NATIVE_MOBILE.MIN_SMALL_DEVICE))) {
16
+ return 'sm';
17
+ } else {
18
+ return 'xs';
19
+ }
20
+ };
21
+
22
+ /**
23
+ * Gets responsive value for current breakpoint with safe mobile-first fallback
24
+ * The fallback order is: current breakpoint -> smaller breakpoints -> xs (ultimate fallback)
25
+ *
26
+ * @param responsiveConfig Object containing values for each breakpoint (xs, sm, md, lg)
27
+ * @param currentBreakpoint Current breakpoint (optional, will be auto-detected if not provided)
28
+ * @returns The value for current breakpoint or fallback value
29
+ *
30
+ */
31
+ export const getNumberOfColumnsFromResponsiveConfig = (responsiveConfig, currentBreakpoint, fallback = false) => {
32
+ var _ref, _value;
33
+ const breakpoint = currentBreakpoint || getCurrentBreakpoint();
34
+ let value = responsiveConfig[breakpoint];
35
+ if (!value && fallback) {
36
+ const fallbackOrder = ['lg', 'md', 'sm', 'xs'];
37
+ const currentIndex = fallbackOrder.indexOf(breakpoint);
38
+ for (let i = currentIndex - 1; i >= 0; i--) {
39
+ const fallbackBreakpoint = fallbackOrder[i];
40
+ if (responsiveConfig[fallbackBreakpoint]) {
41
+ value = responsiveConfig[fallbackBreakpoint];
42
+ break;
43
+ }
44
+ }
45
+ }
46
+ return (_ref = (_value = value) !== null && _value !== void 0 ? _value : responsiveConfig.xs) !== null && _ref !== void 0 ? _ref : 1;
47
+ };
48
+ //# sourceMappingURL=responsive.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_viewPort","DEVICE_BREAK_POINTS","DEVICE_BREAK_POINTS_NATIVE_MOBILE","Platform","getCurrentBreakpoint","width","OS","parseInt","MIN_LARGE_DEVICE","MIN_MEDIUM_DEVICE","MIN_SMALL_DEVICE","getNumberOfColumnsFromResponsiveConfig","responsiveConfig","currentBreakpoint","fallback","_ref","_value","breakpoint","value","fallbackOrder","currentIndex","indexOf","i","fallbackBreakpoint","xs"],"sources":["responsive.utils.ts"],"sourcesContent":["import _viewPort from './viewport';\nimport { DEVICE_BREAK_POINTS, DEVICE_BREAK_POINTS_NATIVE_MOBILE } from '../styles/theme';\nimport { Platform } from 'react-native';\n\nexport type ResponsiveBreakpoint = 'xs' | 'sm' | 'md' | 'lg';\n\nexport type ResponsiveConfig<T> = {\n xs?: T;\n sm?: T;\n md?: T;\n lg?: T;\n};\n\n/**\n * Determines the current responsive breakpoint based on viewport width and pixel ratio\n * @returns The current breakpoint ('xs' | 'sm' | 'md' | 'lg')\n * \n */\nexport const getCurrentBreakpoint = (): ResponsiveBreakpoint => {\n const width = _viewPort.width;\n \n if (width >= (Platform.OS === 'web' ? parseInt(DEVICE_BREAK_POINTS.MIN_LARGE_DEVICE) : parseInt(DEVICE_BREAK_POINTS_NATIVE_MOBILE.MIN_LARGE_DEVICE))) {\n return 'lg';\n } else if (width >= (Platform.OS === 'web' ? parseInt(DEVICE_BREAK_POINTS.MIN_MEDIUM_DEVICE) : parseInt(DEVICE_BREAK_POINTS_NATIVE_MOBILE.MIN_MEDIUM_DEVICE))) {\n return 'md';\n } else if (width >= (Platform.OS === 'web' ? parseInt(DEVICE_BREAK_POINTS.MIN_SMALL_DEVICE) : parseInt(DEVICE_BREAK_POINTS_NATIVE_MOBILE.MIN_SMALL_DEVICE))) {\n return 'sm';\n } else {\n return 'xs';\n }\n};\n\n/**\n * Gets responsive value for current breakpoint with safe mobile-first fallback\n * The fallback order is: current breakpoint -> smaller breakpoints -> xs (ultimate fallback)\n * \n * @param responsiveConfig Object containing values for each breakpoint (xs, sm, md, lg)\n * @param currentBreakpoint Current breakpoint (optional, will be auto-detected if not provided)\n * @returns The value for current breakpoint or fallback value\n * \n */\nexport const getNumberOfColumnsFromResponsiveConfig = (\n responsiveConfig: ResponsiveConfig<number>,\n currentBreakpoint?: ResponsiveBreakpoint,\n fallback: boolean = false\n): number => {\n const breakpoint = currentBreakpoint || getCurrentBreakpoint();\n \n let value = responsiveConfig[breakpoint];\n \n if (!value && fallback) {\n const fallbackOrder = ['lg', 'md', 'sm', 'xs'];\n const currentIndex = fallbackOrder.indexOf(breakpoint);\n \n for (let i = currentIndex - 1; i >= 0; i--) {\n const fallbackBreakpoint = fallbackOrder[i] as keyof typeof responsiveConfig;\n if (responsiveConfig[fallbackBreakpoint]) {\n value = responsiveConfig[fallbackBreakpoint];\n break;\n }\n }\n }\n \n return value ?? responsiveConfig.xs ?? 1;\n};\n"],"mappings":"AAAA,OAAOA,SAAS,MAAM,YAAY;AAClC,SAASC,mBAAmB,EAAEC,iCAAiC,QAAQ,iBAAiB;AACxF,SAASC,QAAQ,QAAQ,cAAc;AAWvC;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAA4B;EAC9D,MAAMC,KAAK,GAAGL,SAAS,CAACK,KAAK;EAE7B,IAAIA,KAAK,KAAKF,QAAQ,CAACG,EAAE,KAAK,KAAK,GAAGC,QAAQ,CAACN,mBAAmB,CAACO,gBAAgB,CAAC,GAAGD,QAAQ,CAACL,iCAAiC,CAACM,gBAAgB,CAAC,CAAC,EAAE;IACpJ,OAAO,IAAI;EACb,CAAC,MAAM,IAAIH,KAAK,KAAKF,QAAQ,CAACG,EAAE,KAAK,KAAK,GAAGC,QAAQ,CAACN,mBAAmB,CAACQ,iBAAiB,CAAC,GAAGF,QAAQ,CAACL,iCAAiC,CAACO,iBAAiB,CAAC,CAAC,EAAE;IAC7J,OAAO,IAAI;EACb,CAAC,MAAM,IAAIJ,KAAK,KAAKF,QAAQ,CAACG,EAAE,KAAK,KAAK,GAAGC,QAAQ,CAACN,mBAAmB,CAACS,gBAAgB,CAAC,GAAGH,QAAQ,CAACL,iCAAiC,CAACQ,gBAAgB,CAAC,CAAC,EAAE;IAC3J,OAAO,IAAI;EACb,CAAC,MAAM;IACL,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,sCAAsC,GAAGA,CACpDC,gBAA0C,EAC1CC,iBAAwC,EACxCC,QAAiB,GAAG,KAAK,KACd;EAAA,IAAAC,IAAA,EAAAC,MAAA;EACX,MAAMC,UAAU,GAAGJ,iBAAiB,IAAIT,oBAAoB,CAAC,CAAC;EAE9D,IAAIc,KAAK,GAAGN,gBAAgB,CAACK,UAAU,CAAC;EAExC,IAAI,CAACC,KAAK,IAAIJ,QAAQ,EAAE;IACtB,MAAMK,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;IAC9C,MAAMC,YAAY,GAAGD,aAAa,CAACE,OAAO,CAACJ,UAAU,CAAC;IAEtD,KAAK,IAAIK,CAAC,GAAGF,YAAY,GAAG,CAAC,EAAEE,CAAC,IAAI,CAAC,EAAEA,CAAC,EAAE,EAAE;MAC1C,MAAMC,kBAAkB,GAAGJ,aAAa,CAACG,CAAC,CAAkC;MAC5E,IAAIV,gBAAgB,CAACW,kBAAkB,CAAC,EAAE;QACxCL,KAAK,GAAGN,gBAAgB,CAACW,kBAAkB,CAAC;QAC5C;MACF;IACF;EACF;EAEA,QAAAR,IAAA,IAAAC,MAAA,GAAOE,KAAK,cAAAF,MAAA,cAAAA,MAAA,GAAIJ,gBAAgB,CAACY,EAAE,cAAAT,IAAA,cAAAA,IAAA,GAAI,CAAC;AAC1C,CAAC","ignoreList":[]}
@@ -151,10 +151,10 @@ export class Tappable extends React.Component {
151
151
  }, commonProps), /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children));
152
152
  });
153
153
  }
154
- return /*#__PURE__*/React.createElement(View, {
154
+ return /*#__PURE__*/React.createElement(View, _extends({
155
155
  style: this.props.styles,
156
156
  onLayout: this.props.onLayout
157
- }, this.props.children);
157
+ }, this.props.accessibilityProps), this.props.children);
158
158
  }
159
159
  }
160
160
  //# sourceMappingURL=tappable.component.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TouchableRipple","TappableContext","createContext","UIPreferencesConsumer","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","commonProps","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","createElement","preferences","enableRipple","Consumer","Provider","value","_extends","rippleColor","disableTouchEffect","borderless","onLayout","Fragment","children","activeOpacity"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { isDefined } from \"./utils\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n disableTouchEffect?:boolean;\n onLayout?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return(\n <ParentTappableContext.Provider value={this}>\n <TouchableRipple \n rippleColor={this.props.disableTouchEffect ? \"transparent\" : this.props.rippleColor} \n borderless={true} \n {...commonProps}\n onLayout={this.props.onLayout}\n >\n <>{this.props.children}</>\n </TouchableRipple>\n </ParentTappableContext.Provider>\n )\n }}</ParentTappableContext.Consumer>): (\n //default value is 0.2\n <TouchableOpacity \n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2} \n onLayout={this.props.onLayout}\n {...commonProps}\n >\n <>{this.props.children}</>\n </TouchableOpacity>);\n }}\n </UIPreferencesConsumer>\n );\n }\n return (\n <View \n style={this.props.styles}\n onLayout={this.props.onLayout}\n >\n {this.props.children}\n </View>);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Platform","View","TouchableOpacity","get","injector","TouchableRipple","TappableContext","createContext","UIPreferencesConsumer","ParentTappableContext","SyntheticEvent","constructor","_defineProperty","stopPropagation","propagationEnabled","Tappable","Component","props","triggerTap","e","_this$parent","target","onTap","invokeEventCallback","parent","onPress","_this$props$target","lastPress","Date","now","onTouchStart","currentTime","tapDelta","lastTap","isLongTap","_injector$FOCUSED_ELE","FOCUSED_ELEMENT","blur","lastDoubleTap","onDoubleTap","setTimeout","_this$parent2","onLongTap","_this$props$target2","_this$parent3","onPressOut","onTouchEnd","_this$props$target3","_this$parent4","setParent","render","commonProps","OS","accessibilityLabel","testID","accessibilityProps","disabled","proxy","style","styles","_e$target","tagName","onLongPress","onLongtap","onDoubletap","createElement","preferences","enableRipple","Consumer","Provider","value","_extends","rippleColor","disableTouchEffect","borderless","onLayout","Fragment","children","activeOpacity"],"sources":["tappable.component.tsx"],"sourcesContent":["import { BaseComponent } from \"@wavemaker/app-rn-runtime/core/base.component\";\nimport React from \"react\";\nimport { GestureResponderEvent, Platform, View, TouchableOpacity } from \"react-native\";\nimport { get } from \"lodash\";\nimport injector from \"./injector\";\nimport { TouchableRipple } from \"react-native-paper\";\nimport ThemeVariables from \"../styles/theme.variables\";\nimport { isDefined } from \"./utils\";\n\nexport const TappableContext = React.createContext<Tappable>(null as any);\nimport { UIPreferencesConsumer, UI_PREFERENCES } from \"./ui-preferences.context\";\n\nexport const ParentTappableContext = React.createContext<Tappable>(null as any);\ninterface TappableProps {\n testID?: string;\n children?: any\n styles?: any;\n target?: BaseComponent<any, any, any>;\n onTap?: (e: any) => void;\n onLongTap?: (e: any) => void; \n onDoubleTap?: (e: any) => void;\n onTouchStart? : (e: any) => void;\n onTouchEnd? : (e: any) => void;\n rippleColor?: string;\n accessibilityProps?: any;\n disableTouchEffect?:boolean;\n onLayout?: any;\n}\n\nexport class SyntheticEvent {\n // as the event is being used in onPress, onPressOut and onLongTap the TapEvent is renamed to SyntheticEvent\n propagationEnabled = true;\n \n constructor() {\n\n }\n\n stopPropagation() {\n this.propagationEnabled = false;\n }\n}\n\nexport class Tappable extends React.Component<TappableProps, any> {\n private lastPress = 0;\n private lastTap = 0;\n private lastDoubleTap = 0;\n private isLongTap = false;\n private parent:Tappable = null as any;\n \n constructor(props: any) {\n super(props);\n }\n\n async triggerTap(e = new SyntheticEvent()) {\n if (!e.propagationEnabled) {\n return;\n }\n const target = this.props.target;\n if (this.props.onTap) {\n await this.props.onTap(e);\n } else {\n await target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.triggerTap(e);\n }\n\n onPress(e: SyntheticEvent): void { \n this.lastPress = Date.now();\n const target = this.props.target;\n this.props.onTouchStart && this.props.onTouchStart(e);\n this.props.target?.invokeEventCallback('onTouchstart', [e, this.props.target]);\n const currentTime = Date.now();\n const tapDelta = currentTime - this.lastTap;\n if (this.isLongTap) {\n this.isLongTap = false;\n return;\n }\n if (e.propagationEnabled) {\n injector.FOCUSED_ELEMENT.get()?.blur();\n if(this.lastDoubleTap !== this.lastTap \n && tapDelta < 500) {\n this.props.onDoubleTap && this.props.onDoubleTap(e);\n setTimeout(() => {\n target?.invokeEventCallback('onDoubletap', [e, target]);\n }, 200);\n this.lastDoubleTap = currentTime;\n }\n setTimeout(() => {\n if (!e.propagationEnabled) {\n return;\n }\n if (this.props.onTap) {\n this.props.onTap(e);\n } else {\n target?.invokeEventCallback('onTap', [e, target]);\n }\n this.parent?.onPress(e);\n }, 200);\n this.lastTap = currentTime;\n }\n }\n\n onLongTap(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n }\n this.props.onLongTap && this.props.onLongTap(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onLongtap', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = true;\n }\n \n onPressOut(e: SyntheticEvent): void {\n if(!e.propagationEnabled){\n return;\n } \n this.props.onTouchEnd && this.props.onTouchEnd(e);\n setTimeout(() => {\n this.props.target?.invokeEventCallback('onTouchend', [e, this.props.target]);\n this.parent?.onPressOut(e);\n }, 200);\n this.isLongTap = false;\n }\n private setParent(parent: Tappable) {\n if (parent && this.parent !== parent) {\n this.parent = parent;\n }\n }\n\n render() {\n const target = this.props.target;\n const commonProps = {\n ...(Platform.OS === 'android' || Platform.OS === 'web') ? {\n accessibilityLabel: this.props.testID,\n testID: this.props.testID\n }: {\n // accessible: false,\n testID: this.props.testID\n },\n ...this.props.accessibilityProps,\n disabled:get(target?.proxy, 'disabled'),\n style:this.props.styles,\n onPress:(e?: GestureResponderEvent) => {\n if ((e?.target as any)?.tagName === 'INPUT') {\n return;\n }\n this.onPress(new SyntheticEvent())\n },\n onLongPress:(e?: GestureResponderEvent) => this.onLongTap(new SyntheticEvent()),\n onPressOut:(e?: GestureResponderEvent) => this.onPressOut(new SyntheticEvent())\n };\n if (target?.props.onTap \n || target?.props.onLongtap \n || target?.props.onDoubletap \n || this.props.onTap \n || this.props.onLongTap \n || this.props.onDoubleTap) {\n return (\n <UIPreferencesConsumer>\n {(preferences: UI_PREFERENCES) => {\n return preferences.enableRipple != false ? (\n <ParentTappableContext.Consumer>{(parent) => {\n this.setParent(parent);\n return(\n <ParentTappableContext.Provider value={this}>\n <TouchableRipple \n rippleColor={this.props.disableTouchEffect ? \"transparent\" : this.props.rippleColor} \n borderless={true} \n {...commonProps}\n onLayout={this.props.onLayout}\n >\n <>{this.props.children}</>\n </TouchableRipple>\n </ParentTappableContext.Provider>\n )\n }}</ParentTappableContext.Consumer>): (\n //default value is 0.2\n <TouchableOpacity \n activeOpacity={this.props.disableTouchEffect ? 1 : 0.2} \n onLayout={this.props.onLayout}\n {...commonProps}\n >\n <>{this.props.children}</>\n </TouchableOpacity>);\n }}\n </UIPreferencesConsumer>\n );\n }\n return (\n <View \n style={this.props.styles}\n onLayout={this.props.onLayout}\n {...this.props.accessibilityProps}\n >\n {this.props.children}\n </View>);\n }\n}\n"],"mappings":";;;;AACA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAgCC,QAAQ,EAAEC,IAAI,EAAEC,gBAAgB,QAAQ,cAAc;AACtF,SAASC,GAAG,QAAQ,QAAQ;AAC5B,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,eAAe,QAAQ,oBAAoB;AAIpD,OAAO,MAAMC,eAAe,gBAAGP,KAAK,CAACQ,aAAa,CAAW,IAAW,CAAC;AACzE,SAASC,qBAAqB,QAAwB,0BAA0B;AAEhF,OAAO,MAAMC,qBAAqB,gBAAGV,KAAK,CAACQ,aAAa,CAAW,IAAW,CAAC;AAiB/E,OAAO,MAAMG,cAAc,CAAC;EAIxBC,WAAWA,CAAA,EAAG;IAHd;IAAAC,eAAA,6BACqB,IAAI;EAIzB;EAEAC,eAAeA,CAAA,EAAG;IACd,IAAI,CAACC,kBAAkB,GAAG,KAAK;EACnC;AACJ;AAEA,OAAO,MAAMC,QAAQ,SAAShB,KAAK,CAACiB,SAAS,CAAqB;EAO9DL,WAAWA,CAACM,KAAU,EAAE;IACpB,KAAK,CAACA,KAAK,CAAC;IAACL,eAAA,oBAPG,CAAC;IAAAA,eAAA,kBACH,CAAC;IAAAA,eAAA,wBACK,CAAC;IAAAA,eAAA,oBACL,KAAK;IAAAA,eAAA,iBACC,IAAI;EAI9B;EAEA,MAAMM,UAAUA,CAACC,CAAC,GAAG,IAAIT,cAAc,CAAC,CAAC,EAAE;IAAA,IAAAU,YAAA;IACvC,IAAI,CAACD,CAAC,CAACL,kBAAkB,EAAE;MACvB;IACJ;IACA,MAAMO,MAAM,GAAG,IAAI,CAACJ,KAAK,CAACI,MAAM;IAChC,IAAI,IAAI,CAACJ,KAAK,CAACK,KAAK,EAAE;MAClB,MAAM,IAAI,CAACL,KAAK,CAACK,KAAK,CAACH,CAAC,CAAC;IAC7B,CAAC,MAAM;MACH,OAAME,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEE,mBAAmB,CAAC,OAAO,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;IAC3D;IACA,CAAAD,YAAA,OAAI,CAACI,MAAM,cAAAJ,YAAA,eAAXA,YAAA,CAAaF,UAAU,CAACC,CAAC,CAAC;EAC9B;EAEAM,OAAOA,CAACN,CAAiB,EAAQ;IAAA,IAAAO,kBAAA;IAC7B,IAAI,CAACC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC3B,MAAMR,MAAM,GAAG,IAAI,CAACJ,KAAK,CAACI,MAAM;IAChC,IAAI,CAACJ,KAAK,CAACa,YAAY,IAAI,IAAI,CAACb,KAAK,CAACa,YAAY,CAACX,CAAC,CAAC;IACrD,CAAAO,kBAAA,OAAI,CAACT,KAAK,CAACI,MAAM,cAAAK,kBAAA,eAAjBA,kBAAA,CAAmBH,mBAAmB,CAAC,cAAc,EAAE,CAACJ,CAAC,EAAE,IAAI,CAACF,KAAK,CAACI,MAAM,CAAC,CAAC;IAC9E,MAAMU,WAAW,GAAGH,IAAI,CAACC,GAAG,CAAC,CAAC;IAC9B,MAAMG,QAAQ,GAAGD,WAAW,GAAG,IAAI,CAACE,OAAO;IAC3C,IAAI,IAAI,CAACC,SAAS,EAAE;MAChB,IAAI,CAACA,SAAS,GAAG,KAAK;MACtB;IACJ;IACA,IAAIf,CAAC,CAACL,kBAAkB,EAAE;MAAA,IAAAqB,qBAAA;MACtB,CAAAA,qBAAA,GAAA/B,QAAQ,CAACgC,eAAe,CAACjC,GAAG,CAAC,CAAC,cAAAgC,qBAAA,eAA9BA,qBAAA,CAAgCE,IAAI,CAAC,CAAC;MACtC,IAAG,IAAI,CAACC,aAAa,KAAK,IAAI,CAACL,OAAO,IAC/BD,QAAQ,GAAG,GAAG,EAAE;QACnB,IAAI,CAACf,KAAK,CAACsB,WAAW,IAAI,IAAI,CAACtB,KAAK,CAACsB,WAAW,CAACpB,CAAC,CAAC;QACnDqB,UAAU,CAAC,MAAM;UACbnB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEE,mBAAmB,CAAC,aAAa,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;QAC3D,CAAC,EAAE,GAAG,CAAC;QACP,IAAI,CAACiB,aAAa,GAAGP,WAAW;MACpC;MACAS,UAAU,CAAC,MAAM;QAAA,IAAAC,aAAA;QACb,IAAI,CAACtB,CAAC,CAACL,kBAAkB,EAAE;UACvB;QACJ;QACA,IAAI,IAAI,CAACG,KAAK,CAACK,KAAK,EAAE;UAClB,IAAI,CAACL,KAAK,CAACK,KAAK,CAACH,CAAC,CAAC;QACvB,CAAC,MAAM;UACHE,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEE,mBAAmB,CAAC,OAAO,EAAE,CAACJ,CAAC,EAAEE,MAAM,CAAC,CAAC;QACrD;QACA,CAAAoB,aAAA,OAAI,CAACjB,MAAM,cAAAiB,aAAA,eAAXA,aAAA,CAAahB,OAAO,CAACN,CAAC,CAAC;MAC3B,CAAC,EAAE,GAAG,CAAC;MACP,IAAI,CAACc,OAAO,GAAGF,WAAW;IAC9B;EACJ;EAEAW,SAASA,CAACvB,CAAiB,EAAQ;IAC/B,IAAG,CAACA,CAAC,CAACL,kBAAkB,EAAC;MACrB;IACJ;IACA,IAAI,CAACG,KAAK,CAACyB,SAAS,IAAI,IAAI,CAACzB,KAAK,CAACyB,SAAS,CAACvB,CAAC,CAAC;IAC/CqB,UAAU,CAAC,MAAM;MAAA,IAAAG,mBAAA,EAAAC,aAAA;MACb,CAAAD,mBAAA,OAAI,CAAC1B,KAAK,CAACI,MAAM,cAAAsB,mBAAA,eAAjBA,mBAAA,CAAmBpB,mBAAmB,CAAC,WAAW,EAAE,CAACJ,CAAC,EAAE,IAAI,CAACF,KAAK,CAACI,MAAM,CAAC,CAAC;MAC3E,CAAAuB,aAAA,OAAI,CAACpB,MAAM,cAAAoB,aAAA,eAAXA,aAAA,CAAaC,UAAU,CAAC1B,CAAC,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACe,SAAS,GAAG,IAAI;EACzB;EAEAW,UAAUA,CAAC1B,CAAiB,EAAQ;IAChC,IAAG,CAACA,CAAC,CAACL,kBAAkB,EAAC;MACrB;IACJ;IACA,IAAI,CAACG,KAAK,CAAC6B,UAAU,IAAI,IAAI,CAAC7B,KAAK,CAAC6B,UAAU,CAAC3B,CAAC,CAAC;IACjDqB,UAAU,CAAC,MAAM;MAAA,IAAAO,mBAAA,EAAAC,aAAA;MACb,CAAAD,mBAAA,OAAI,CAAC9B,KAAK,CAACI,MAAM,cAAA0B,mBAAA,eAAjBA,mBAAA,CAAmBxB,mBAAmB,CAAC,YAAY,EAAE,CAACJ,CAAC,EAAE,IAAI,CAACF,KAAK,CAACI,MAAM,CAAC,CAAC;MAC5E,CAAA2B,aAAA,OAAI,CAACxB,MAAM,cAAAwB,aAAA,eAAXA,aAAA,CAAaH,UAAU,CAAC1B,CAAC,CAAC;IAC9B,CAAC,EAAE,GAAG,CAAC;IACP,IAAI,CAACe,SAAS,GAAG,KAAK;EAC1B;EACQe,SAASA,CAACzB,MAAgB,EAAE;IAChC,IAAIA,MAAM,IAAI,IAAI,CAACA,MAAM,KAAKA,MAAM,EAAG;MACnC,IAAI,CAACA,MAAM,GAAGA,MAAM;IACxB;EACJ;EAEA0B,MAAMA,CAAA,EAAG;IACL,MAAM7B,MAAM,GAAG,IAAI,CAACJ,KAAK,CAACI,MAAM;IAChC,MAAM8B,WAAW,GAAG;MAChB,IAAInD,QAAQ,CAACoD,EAAE,KAAK,SAAS,IAAIpD,QAAQ,CAACoD,EAAE,KAAK,KAAK,GAAI;QACtDC,kBAAkB,EAAE,IAAI,CAACpC,KAAK,CAACqC,MAAM;QACrCA,MAAM,EAAE,IAAI,CAACrC,KAAK,CAACqC;MACvB,CAAC,GAAE;QACC;QACAA,MAAM,EAAE,IAAI,CAACrC,KAAK,CAACqC;MACvB,CAAC;MACD,GAAG,IAAI,CAACrC,KAAK,CAACsC,kBAAkB;MAChCC,QAAQ,EAACrD,GAAG,CAACkB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEoC,KAAK,EAAE,UAAU,CAAC;MACvCC,KAAK,EAAC,IAAI,CAACzC,KAAK,CAAC0C,MAAM;MACvBlC,OAAO,EAAEN,CAAyB,IAAK;QAAA,IAAAyC,SAAA;QACnC,IAAI,CAACzC,CAAC,aAADA,CAAC,gBAAAyC,SAAA,GAADzC,CAAC,CAAEE,MAAM,cAAAuC,SAAA,uBAAVA,SAAA,CAAoBC,OAAO,MAAK,OAAO,EAAE;UACzC;QACJ;QACA,IAAI,CAACpC,OAAO,CAAC,IAAIf,cAAc,CAAC,CAAC,CAAC;MACtC,CAAC;MACDoD,WAAW,EAAE3C,CAAyB,IAAK,IAAI,CAACuB,SAAS,CAAC,IAAIhC,cAAc,CAAC,CAAC,CAAC;MAC/EmC,UAAU,EAAE1B,CAAyB,IAAK,IAAI,CAAC0B,UAAU,CAAC,IAAInC,cAAc,CAAC,CAAC;IAClF,CAAC;IACD,IAAIW,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEJ,KAAK,CAACK,KAAK,IAChBD,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEJ,KAAK,CAAC8C,SAAS,IACvB1C,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEJ,KAAK,CAAC+C,WAAW,IACzB,IAAI,CAAC/C,KAAK,CAACK,KAAK,IAChB,IAAI,CAACL,KAAK,CAACyB,SAAS,IACpB,IAAI,CAACzB,KAAK,CAACsB,WAAW,EAAE;MAC3B,oBACAxC,KAAA,CAAAkE,aAAA,CAACzD,qBAAqB,QAChB0D,WAA2B,IAAK;QAC9B,OAAOA,WAAW,CAACC,YAAY,IAAI,KAAK,gBACpCpE,KAAA,CAAAkE,aAAA,CAACxD,qBAAqB,CAAC2D,QAAQ,QAAG5C,MAAM,IAAK;UACzC,IAAI,CAACyB,SAAS,CAACzB,MAAM,CAAC;UACtB,oBACIzB,KAAA,CAAAkE,aAAA,CAACxD,qBAAqB,CAAC4D,QAAQ;YAACC,KAAK,EAAE;UAAK,gBACxCvE,KAAA,CAAAkE,aAAA,CAAC5D,eAAe,EAAAkE,QAAA;YACZC,WAAW,EAAE,IAAI,CAACvD,KAAK,CAACwD,kBAAkB,GAAG,aAAa,GAAG,IAAI,CAACxD,KAAK,CAACuD,WAAY;YACpFE,UAAU,EAAE;UAAK,GACbvB,WAAW;YACfwB,QAAQ,EAAE,IAAI,CAAC1D,KAAK,CAAC0D;UAAS,iBAE9B5E,KAAA,CAAAkE,aAAA,CAAAlE,KAAA,CAAA6E,QAAA,QAAG,IAAI,CAAC3D,KAAK,CAAC4D,QAAW,CACZ,CACW,CAAC;QAEzC,CAAkC,CAAC;QAAA;QACnC;QACA9E,KAAA,CAAAkE,aAAA,CAAC/D,gBAAgB,EAAAqE,QAAA;UACbO,aAAa,EAAE,IAAI,CAAC7D,KAAK,CAACwD,kBAAkB,GAAG,CAAC,GAAG,GAAI;UACvDE,QAAQ,EAAE,IAAI,CAAC1D,KAAK,CAAC0D;QAAS,GAC1BxB,WAAW,gBAEfpD,KAAA,CAAAkE,aAAA,CAAAlE,KAAA,CAAA6E,QAAA,QAAG,IAAI,CAAC3D,KAAK,CAAC4D,QAAW,CACX,CAAE;MAC5B,CACmB,CAAC;IAE5B;IACA,oBACI9E,KAAA,CAAAkE,aAAA,CAAChE,IAAI,EAAAsE,QAAA;MACDb,KAAK,EAAE,IAAI,CAACzC,KAAK,CAAC0C,MAAO;MACzBgB,QAAQ,EAAE,IAAI,CAAC1D,KAAK,CAAC0D;IAAS,GAC1B,IAAI,CAAC1D,KAAK,CAACsC,kBAAkB,GAEhC,IAAI,CAACtC,KAAK,CAAC4D,QACV,CAAC;EACf;AACJ","ignoreList":[]}
package/core/utils.js CHANGED
@@ -708,6 +708,19 @@ export const getGradientColors = gradientString => {
708
708
  return match ? match[1] : segment;
709
709
  });
710
710
  };
711
+ export const isNativeStyle = (key, context = 'property', traceEnabled = true) => {
712
+ const nativeStyleProperties = ['shadowOffset', 'shadowRadius', 'shadowColor', 'shadowOpacity', 'paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'marginTop', 'marginRight', 'marginBottom', 'marginLeft', 'borderRadius', 'borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor', 'backgroundColor', 'width', 'height', 'flex', 'flexDirection', 'textShadowOffset', 'transform', 'decomposedMatrix', 'transformMatrix', 'boxShadow', 'filter', 'fontVariant', 'margin', 'padding', 'backgroundPosition', 'borderColor', 'backgroundImage', 'backgroundSize', 'backgroundRepeat', 'backgroundResizeMode', 'aspectRatio', 'gap', 'columnGap', 'rowGap', 'content', 'matrix', 'strokeDasharray', 'strokeLinecap', 'strokeLinejoin'];
713
+ if (!traceEnabled) return true;
714
+ if (context === 'path') {
715
+ // For flattened paths like "item.shadowOffset"
716
+ const parts = key.split('.');
717
+ const property = parts[parts.length - 1];
718
+ return nativeStyleProperties.includes(property);
719
+ } else {
720
+ // For direct property names like "shadowOffset"
721
+ return nativeStyleProperties.includes(key);
722
+ }
723
+ };
711
724
  export const parseLinearGradient = gradient => {
712
725
  var _ThemeVariables$INSTA, _ThemeVariables$INSTA2;
713
726
  // Check if this is a valid linear gradient