@wavemaker-ai/app-rn-runtime 1.0.0-rc.326 → 1.0.0-rc.328

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 (90) hide show
  1. package/components/advanced/offline-banner/offline-banner.component.js +68 -0
  2. package/components/advanced/offline-banner/offline-banner.component.js.map +1 -0
  3. package/components/advanced/offline-banner/offline-banner.props.js +12 -0
  4. package/components/advanced/offline-banner/offline-banner.props.js.map +1 -0
  5. package/components/advanced/offline-banner/offline-banner.styles.js +99 -0
  6. package/components/advanced/offline-banner/offline-banner.styles.js.map +1 -0
  7. package/components/advanced/webview/webview.component.js +2 -2
  8. package/components/advanced/webview/webview.component.js.map +1 -1
  9. package/components/advanced/webview/webview.props.js +1 -1
  10. package/components/advanced/webview/webview.props.js.map +1 -1
  11. package/components/chart/area-chart/area-chart.component.js +86 -93
  12. package/components/chart/area-chart/area-chart.component.js.map +1 -1
  13. package/components/chart/area-chart/area-chart.props.js +2 -0
  14. package/components/chart/area-chart/area-chart.props.js.map +1 -1
  15. package/components/chart/bar-chart/bar-chart.component.js +79 -97
  16. package/components/chart/bar-chart/bar-chart.component.js.map +1 -1
  17. package/components/chart/basechart.component.js +117 -96
  18. package/components/chart/basechart.component.js.map +1 -1
  19. package/components/chart/basechart.props.js +12 -0
  20. package/components/chart/basechart.props.js.map +1 -1
  21. package/components/chart/basechart.styles.js.map +1 -1
  22. package/components/chart/bubble-chart/bubble-chart.component.js +72 -70
  23. package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
  24. package/components/chart/bubble-chart/bubble-chart.props.js +1 -0
  25. package/components/chart/bubble-chart/bubble-chart.props.js.map +1 -1
  26. package/components/chart/line-chart/line-chart.component.js +105 -79
  27. package/components/chart/line-chart/line-chart.component.js.map +1 -1
  28. package/components/chart/pie-chart/pie-chart.component.js +70 -166
  29. package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
  30. package/components/chart/pie-chart/pie-chart.props.js +1 -0
  31. package/components/chart/pie-chart/pie-chart.props.js.map +1 -1
  32. package/components/container/accordion/accordionpane/accordionpane.component.js +6 -2
  33. package/components/container/accordion/accordionpane/accordionpane.component.js.map +1 -1
  34. package/components/container/container.component.js +3 -0
  35. package/components/container/container.component.js.map +1 -1
  36. package/components/container/tabs/tabpane/tabpane.component.js +6 -2
  37. package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
  38. package/components/container/wizard/wizardstep/wizardstep.component.js +6 -2
  39. package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
  40. package/components/data/list/list-template/list-template.component.js +3 -0
  41. package/components/data/list/list-template/list-template.component.js.map +1 -1
  42. package/components/data/list/list.component.js +6 -4
  43. package/components/data/list/list.component.js.map +1 -1
  44. package/components/data/list/list.styles.js +1 -14
  45. package/components/data/list/list.styles.js.map +1 -1
  46. package/components/page/page-content/page-content.component.js +3 -0
  47. package/components/page/page-content/page-content.component.js.map +1 -1
  48. package/components/page/page-content/page-content.props.js +2 -0
  49. package/components/page/page-content/page-content.props.js.map +1 -1
  50. package/components/page/page.component.js +95 -2
  51. package/components/page/page.component.js.map +1 -1
  52. package/components/page/page.props.js +3 -0
  53. package/components/page/page.props.js.map +1 -1
  54. package/components/page/tabbar/tabbar.component.js +3 -2
  55. package/components/page/tabbar/tabbar.component.js.map +1 -1
  56. package/components/page/tabbar/tabbar.props.js +1 -0
  57. package/components/page/tabbar/tabbar.props.js.map +1 -1
  58. package/components-prism/basic/search/search.component.js +206 -0
  59. package/components-prism/basic/search/search.component.js.map +1 -0
  60. package/components-prism/basic/search/search.props.js +14 -0
  61. package/components-prism/basic/search/search.props.js.map +1 -0
  62. package/components-prism/basic/search/search.styles.js +127 -0
  63. package/components-prism/basic/search/search.styles.js.map +1 -0
  64. package/core/accessibility.js +9 -0
  65. package/core/accessibility.js.map +1 -1
  66. package/core/auto-layout.utils.js +59 -0
  67. package/core/auto-layout.utils.js.map +1 -1
  68. package/core/base.component.js +22 -1
  69. package/core/base.component.js.map +1 -1
  70. package/core/network.service.js.map +1 -1
  71. package/npm-shrinkwrap.json +562 -1394
  72. package/package-lock.json +562 -1394
  73. package/package.json +12 -7
  74. package/runtime/base-fragment.component.js +7 -1
  75. package/runtime/base-fragment.component.js.map +1 -1
  76. package/runtime/base-page.component.js +24 -0
  77. package/runtime/base-page.component.js.map +1 -1
  78. package/runtime/base-partial.component.js.map +1 -1
  79. package/variables/http.service.js +6 -1
  80. package/variables/http.service.js.map +1 -1
  81. package/variables/interceptor/intercept-context.impl.js +46 -0
  82. package/variables/interceptor/intercept-context.impl.js.map +1 -0
  83. package/variables/interceptor/interceptor.factory.js +78 -0
  84. package/variables/interceptor/interceptor.factory.js.map +1 -0
  85. package/variables/interceptor/persistent.storage.js +142 -0
  86. package/variables/interceptor/persistent.storage.js.map +1 -0
  87. package/variables/interceptor/service-variable-interceptor.js +52 -0
  88. package/variables/interceptor/service-variable-interceptor.js.map +1 -0
  89. package/variables/service-variable.js +109 -1
  90. package/variables/service-variable.js.map +1 -1
@@ -0,0 +1,206 @@
1
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
2
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
3
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
4
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
5
+ import React from 'react';
6
+ import { Platform, Text, TextInput, View } from 'react-native';
7
+ import { ScrollView } from 'react-native-gesture-handler';
8
+ import { get, isNull } from 'lodash';
9
+ import WmSearchProps from './search.props';
10
+ import { DEFAULT_CLASS } from './search.styles';
11
+ import CoreWmSearch, { WmSearchState as CoreWmSearchState } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.component';
12
+ import { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';
13
+ import WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';
14
+ import { AssetProvider } from '@wavemaker-ai/app-rn-runtime/core/asset.provider';
15
+ import { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';
16
+ import OutsidePressHandler from '@wavemaker-ai/app-rn-runtime/core/outside-press-handler';
17
+ export class WmSearchState extends CoreWmSearchState {}
18
+ function isIconClass(val) {
19
+ return typeof val === 'string' && val.length > 0 && val !== 'false' && val !== 'null' && val !== 'undefined';
20
+ }
21
+ export default class WmSearch extends CoreWmSearch {
22
+ constructor(props, defaultClass = DEFAULT_CLASS, defaultProps = new WmSearchProps(), defaultState = new WmSearchState()) {
23
+ super(props, defaultClass, defaultProps, defaultState);
24
+ _defineProperty(this, "searchInputHeight", 0);
25
+ _defineProperty(this, "showPopover", () => {
26
+ this.updateState({
27
+ isOpened: true
28
+ });
29
+ });
30
+ _defineProperty(this, "hide", () => {
31
+ if (this.state.isOpened) {
32
+ this.updateState({
33
+ isOpened: false
34
+ });
35
+ }
36
+ });
37
+ }
38
+ handleLeadingIconPress() {
39
+ this.invokeEventCallback('onLeadingiconclick', [this.proxy]);
40
+ }
41
+ handleBackIconPress() {
42
+ this.updateState({
43
+ props: {
44
+ query: ''
45
+ },
46
+ dataItems: this.state.dataItems ? this.state.dataItems.map(item => {
47
+ item.selected = false;
48
+ return item;
49
+ }) : []
50
+ });
51
+ this.hide();
52
+ }
53
+ searchIconPress() {
54
+ const query = this.state.props.query || '';
55
+ if (this.state.props.searchon === 'onsearchiconclick') {
56
+ this.updateFilteredData(query);
57
+ if (query && this.styles.modal.display !== 'none') {
58
+ this.showPopover && this.showPopover();
59
+ }
60
+ } else {
61
+ this.isFocused = false;
62
+ this.onItemSelect(this.state.data[0]);
63
+ }
64
+ if (get(this.props, 'formfield')) {
65
+ var _this$props$invokeEve, _this$props;
66
+ (_this$props$invokeEve = (_this$props = this.props).invokeEvent) === null || _this$props$invokeEve === void 0 || _this$props$invokeEve.call(_this$props, 'onSubmit', [null, this]);
67
+ } else {
68
+ this.invokeEventCallback('onSubmit', [null, this]);
69
+ }
70
+ this.isFocused = false;
71
+ }
72
+ renderSkeleton(props) {
73
+ var _this$styles$root, _this$styles$root2;
74
+ return createSkeleton(this.theme, this.styles.skeleton, {
75
+ ...this.styles.root,
76
+ width: props.skeletonwidth || ((_this$styles$root = this.styles.root) === null || _this$styles$root === void 0 ? void 0 : _this$styles$root.width),
77
+ height: props.skeletonheight || ((_this$styles$root2 = this.styles.root) === null || _this$styles$root2 === void 0 ? void 0 : _this$styles$root2.height)
78
+ });
79
+ }
80
+ updateFilteredData(queryText = '') {
81
+ super.updateFilteredData(queryText);
82
+ if (this.isFocused && queryText && this.styles.modal.display !== 'none' && !this.state.isOpened) {
83
+ this.showPopover && this.showPopover();
84
+ }
85
+ }
86
+ renderDropdownContent(props, filteredData) {
87
+ const items = filteredData.map((item, index) => {
88
+ if (props.limit && index + 1 > props.limit) return null;
89
+ return this.renderSearchItem(item, index);
90
+ });
91
+ if (filteredData.length === 0) {
92
+ return /*#__PURE__*/React.createElement(View, {
93
+ style: {
94
+ width: '100%'
95
+ }
96
+ }, /*#__PURE__*/React.createElement(View, {
97
+ style: this.styles.dropDownContent
98
+ }, /*#__PURE__*/React.createElement(View, {
99
+ style: this.styles.searchItem
100
+ }, /*#__PURE__*/React.createElement(Text, null, props.noresultsfoundmessage))));
101
+ }
102
+ return /*#__PURE__*/React.createElement(View, {
103
+ style: {
104
+ width: '100%'
105
+ }
106
+ }, /*#__PURE__*/React.createElement(AssetProvider, {
107
+ value: this.loadAsset
108
+ }, props.scrollablesearchresults ? /*#__PURE__*/React.createElement(ScrollView, {
109
+ contentContainerStyle: this.styles.dropDownContent,
110
+ showsVerticalScrollIndicator: false
111
+ }, items) : /*#__PURE__*/React.createElement(View, {
112
+ style: this.styles.dropDownContent
113
+ }, items)));
114
+ }
115
+ renderWidget(props) {
116
+ var _this$styles$placehol;
117
+ const isOpened = this.state.isOpened;
118
+ const filteredData = this.state.data || [];
119
+ const isDropdownVisible = isOpened;
120
+ const hasLeadingIcon = isIconClass(props.leadingiconclass);
121
+ const hasBackSearchIcon = isIconClass(props.backsearchiconclass);
122
+ const hasSearchIcon = isIconClass(props.searchiconclass);
123
+ const hasClearSearchIcon = isIconClass(props.clearsearchiconclass);
124
+ const query = this.state.props.query || '';
125
+ const isSearchOnIconClick = props.searchon === 'onsearchiconclick';
126
+ const showBackIcon = (isDropdownVisible || this.isFocused) && hasBackSearchIcon;
127
+ const showLeadingIcon = hasLeadingIcon && !showBackIcon;
128
+ const showClearIcon = hasClearSearchIcon && props.showclear && !!query && (isSearchOnIconClick ? isDropdownVisible : true);
129
+ const showSearchIcon = !showClearIcon && !isDropdownVisible && hasSearchIcon && props.showSearchIcon !== false;
130
+ const showTrailingIcon = showSearchIcon || showClearIcon;
131
+ let inputOpts = {};
132
+ const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';
133
+ inputOpts[valueExpr] = query;
134
+ return /*#__PURE__*/React.createElement(View, {
135
+ style: this.theme.mergeStyle(this.styles.rootWrapper, isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null)
136
+ }, /*#__PURE__*/React.createElement(OutsidePressHandler, {
137
+ onOutsidePress: () => this.hide()
138
+ }, /*#__PURE__*/React.createElement(View, {
139
+ style: [this.styles.root, isDropdownVisible ? {
140
+ borderBottomLeftRadius: 0,
141
+ borderBottomRightRadius: 0
142
+ } : null, !this.state.isValid ? this.styles.invalid : null],
143
+ ref: ref => {
144
+ this.view = ref;
145
+ },
146
+ onLayout: e => {
147
+ const {
148
+ width,
149
+ height
150
+ } = e.nativeEvent.layout;
151
+ this.searchInputWidth = width;
152
+ this.searchInputHeight = height;
153
+ }
154
+ }, /*#__PURE__*/React.createElement(TextInput, _extends({}, this.getTestPropsForInput(), getAccessibilityProps(AccessibilityWidgetType.SEARCH, props), {
155
+ ref: ref => {
156
+ this.widgetRef = ref;
157
+ // @ts-ignore
158
+ if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {
159
+ // @ts-ignore
160
+ ref.selectionStart = ref.selectionEnd = this.cursor;
161
+ }
162
+ },
163
+ style: [this.styles.text, Platform.OS === 'web' ? this.styles.inputWeb : null, showLeadingIcon || showBackIcon ? this.styles.inputWithLeadingIcon : null, showTrailingIcon ? this.styles.inputWithTrailingIcon : null],
164
+ placeholder: props.placeholder || 'Search',
165
+ placeholderTextColor: (_this$styles$placehol = this.styles.placeholderText) === null || _this$styles$placehol === void 0 ? void 0 : _this$styles$placehol.color,
166
+ autoFocus: props.autofocus,
167
+ editable: !(props.disabled || props.readonly),
168
+ autoComplete: "off",
169
+ autoCorrect: false,
170
+ autoCapitalize: "none",
171
+ onChangeText: this.onChange.bind(this),
172
+ onChange: this.invokeChange.bind(this),
173
+ onFocus: this.onFocus.bind(this),
174
+ onBlur: this.onBlur.bind(this)
175
+ }, inputOpts)), (showLeadingIcon || showBackIcon) && /*#__PURE__*/React.createElement(View, {
176
+ style: [this.styles.iconWrapper, {
177
+ left: 4
178
+ }]
179
+ }, /*#__PURE__*/React.createElement(WmIcon, {
180
+ styles: this.styles.leadingIcon,
181
+ id: this.getTestId(showBackIcon ? 'backicon' : 'leadingicon'),
182
+ iconclass: showBackIcon ? props.backsearchiconclass : props.leadingiconclass,
183
+ iconsize: 24,
184
+ onTap: showBackIcon ? this.handleBackIconPress.bind(this) : this.handleLeadingIconPress.bind(this),
185
+ disabled: !showBackIcon && (props.disabled || props.readonly)
186
+ })), showTrailingIcon && /*#__PURE__*/React.createElement(View, {
187
+ style: [this.styles.iconWrapper, {
188
+ right: 4
189
+ }]
190
+ }, /*#__PURE__*/React.createElement(WmIcon, {
191
+ styles: this.styles.trailingIcon,
192
+ id: this.getTestId(showClearIcon ? 'clear' : 'search'),
193
+ iconclass: showClearIcon ? props.clearsearchiconclass : props.searchiconclass,
194
+ iconsize: 24,
195
+ onTap: showClearIcon ? this.clearSearch.bind(this) : this.searchIconPress.bind(this),
196
+ disabled: !showClearIcon && (props.disabled || props.readonly)
197
+ })), isDropdownVisible ? /*#__PURE__*/React.createElement(View, {
198
+ style: this.theme.mergeStyle(this.styles.modalContent, this.styles.dropdownContainer, this.searchInputWidth ? {
199
+ width: this.searchInputWidth
200
+ } : null, this.searchInputHeight ? {
201
+ top: this.searchInputHeight
202
+ } : null)
203
+ }, this.renderDropdownContent(props, filteredData)) : null)));
204
+ }
205
+ }
206
+ //# sourceMappingURL=search.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Platform","Text","TextInput","View","ScrollView","get","isNull","WmSearchProps","DEFAULT_CLASS","CoreWmSearch","WmSearchState","CoreWmSearchState","AccessibilityWidgetType","getAccessibilityProps","WmIcon","AssetProvider","createSkeleton","OutsidePressHandler","isIconClass","val","length","WmSearch","constructor","props","defaultClass","defaultProps","defaultState","_defineProperty","updateState","isOpened","state","handleLeadingIconPress","invokeEventCallback","proxy","handleBackIconPress","query","dataItems","map","item","selected","hide","searchIconPress","searchon","updateFilteredData","styles","modal","display","showPopover","isFocused","onItemSelect","data","_this$props$invokeEve","_this$props","invokeEvent","call","renderSkeleton","_this$styles$root","_this$styles$root2","theme","skeleton","root","width","skeletonwidth","height","skeletonheight","queryText","renderDropdownContent","filteredData","items","index","limit","renderSearchItem","createElement","style","dropDownContent","searchItem","noresultsfoundmessage","value","loadAsset","scrollablesearchresults","contentContainerStyle","showsVerticalScrollIndicator","renderWidget","_this$styles$placehol","isDropdownVisible","hasLeadingIcon","leadingiconclass","hasBackSearchIcon","backsearchiconclass","hasSearchIcon","searchiconclass","hasClearSearchIcon","clearsearchiconclass","isSearchOnIconClick","showBackIcon","showLeadingIcon","showClearIcon","showclear","showSearchIcon","showTrailingIcon","inputOpts","valueExpr","OS","mergeStyle","rootWrapper","rootWrapperDropdownOpen","onOutsidePress","borderBottomLeftRadius","borderBottomRightRadius","isValid","invalid","ref","view","onLayout","e","nativeEvent","layout","searchInputWidth","searchInputHeight","_extends","getTestPropsForInput","SEARCH","widgetRef","selectionStart","selectionEnd","cursor","text","inputWeb","inputWithLeadingIcon","inputWithTrailingIcon","placeholder","placeholderTextColor","placeholderText","color","autoFocus","autofocus","editable","disabled","readonly","autoComplete","autoCorrect","autoCapitalize","onChangeText","onChange","bind","invokeChange","onFocus","onBlur","iconWrapper","left","leadingIcon","id","getTestId","iconclass","iconsize","onTap","right","trailingIcon","clearSearch","modalContent","dropdownContainer","top"],"sources":["search.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, Platform, Text, TextInput, View } from 'react-native';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { get, isNull } from 'lodash';\n\nimport WmSearchProps from './search.props';\nimport { DEFAULT_CLASS } from './search.styles';\nimport CoreWmSearch, { WmSearchState as CoreWmSearchState } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.component';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker-ai/app-rn-runtime/core/accessibility';\nimport WmIcon from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.component';\nimport { AssetProvider } from '@wavemaker-ai/app-rn-runtime/core/asset.provider';\nimport { createSkeleton } from '@wavemaker-ai/app-rn-runtime/components/basic/skeleton/skeleton.component';\nimport OutsidePressHandler from '@wavemaker-ai/app-rn-runtime/core/outside-press-handler';\nexport class WmSearchState extends CoreWmSearchState {\n}\n\nfunction isIconClass(val: any): boolean {\n return typeof val === 'string' && val.length > 0 && val !== 'false' && val !== 'null' && val !== 'undefined';\n}\n\nexport default class WmSearch extends (CoreWmSearch as any) {\n\n private searchInputHeight = 0;\n\n constructor(\n props: WmSearchProps,\n defaultClass: string = DEFAULT_CLASS,\n defaultProps: WmSearchProps = new WmSearchProps(),\n defaultState: WmSearchState = new WmSearchState(),\n ) {\n super(props, defaultClass, defaultProps, defaultState);\n }\n\n private handleLeadingIconPress() {\n this.invokeEventCallback('onLeadingiconclick', [this.proxy]);\n }\n\n private handleBackIconPress() {\n this.updateState({\n props: { query: '' },\n dataItems: this.state.dataItems\n ? this.state.dataItems.map((item: any) => { item.selected = false; return item; })\n : [],\n } as WmSearchState);\n this.hide();\n }\n\n searchIconPress() {\n const query = this.state.props.query || '';\n\n if (this.state.props.searchon === 'onsearchiconclick') {\n this.updateFilteredData(query);\n if (query && this.styles.modal.display !== 'none') {\n this.showPopover && this.showPopover();\n }\n } else {\n this.isFocused = false;\n this.onItemSelect(this.state.data[0]);\n }\n\n if (get(this.props, 'formfield')) {\n this.props.invokeEvent?.('onSubmit', [null, this]);\n } else {\n this.invokeEventCallback('onSubmit', [null, this]);\n }\n this.isFocused = false;\n }\n\n public renderSkeleton(props: WmSearchProps): React.ReactNode {\n return createSkeleton(this.theme, this.styles.skeleton, {\n ...this.styles.root,\n width: (props.skeletonwidth || this.styles.root?.width) as DimensionValue,\n height: (props.skeletonheight || this.styles.root?.height) as DimensionValue,\n });\n }\n\n updateFilteredData(queryText: string = '') {\n super.updateFilteredData(queryText);\n\n if (this.isFocused && queryText && this.styles.modal.display !== 'none' && !this.state.isOpened) {\n this.showPopover && this.showPopover();\n }\n }\n\n public showPopover = () => {\n this.updateState({ isOpened: true } as WmSearchState);\n };\n\n public hide = () => {\n if (this.state.isOpened) {\n this.updateState({ isOpened: false } as WmSearchState);\n }\n };\n\n renderDropdownContent(props: WmSearchProps, filteredData: any[]) {\n const items = filteredData.map((item: any, index: number) => {\n if (props.limit && index + 1 > props.limit) return null;\n return this.renderSearchItem(item, index);\n });\n if (filteredData.length === 0) {\n return (\n <View style={{ width: '100%' }}>\n <View style={this.styles.dropDownContent}>\n <View style={this.styles.searchItem}>\n <Text>\n {props.noresultsfoundmessage}\n </Text>\n </View>\n </View>\n </View>\n );\n }\n return (\n <View style={{ width: '100%' }}>\n <AssetProvider value={this.loadAsset}>\n {props.scrollablesearchresults ? (\n <ScrollView\n contentContainerStyle={this.styles.dropDownContent}\n showsVerticalScrollIndicator={false}\n >\n {items}\n </ScrollView>\n ) : (\n <View style={this.styles.dropDownContent}>\n {items}\n </View>\n )}\n </AssetProvider>\n </View>\n );\n }\n\n renderWidget(props: WmSearchProps) {\n const isOpened = this.state.isOpened;\n const filteredData = this.state.data || [];\n const isDropdownVisible = isOpened;\n\n const hasLeadingIcon = isIconClass(props.leadingiconclass);\n const hasBackSearchIcon = isIconClass(props.backsearchiconclass);\n const hasSearchIcon = isIconClass(props.searchiconclass);\n const hasClearSearchIcon = isIconClass(props.clearsearchiconclass);\n const query = this.state.props.query || '';\n const isSearchOnIconClick = props.searchon === 'onsearchiconclick';\n\n \n const showBackIcon = (isDropdownVisible || this.isFocused) && hasBackSearchIcon;\n const showLeadingIcon = hasLeadingIcon && !showBackIcon;\n\n const showClearIcon = hasClearSearchIcon && props.showclear && !!query &&\n (isSearchOnIconClick ? isDropdownVisible : true);\n const showSearchIcon = !showClearIcon && !isDropdownVisible && hasSearchIcon && props.showSearchIcon !== false;\n const showTrailingIcon = showSearchIcon || showClearIcon;\n\n let inputOpts: any = {};\n const valueExpr = Platform.OS === 'web' ? 'value' : 'defaultValue';\n inputOpts[valueExpr] = query;\n return (\n <View\n style={this.theme.mergeStyle(\n this.styles.rootWrapper,\n isDropdownVisible ? this.styles.rootWrapperDropdownOpen : null\n )}\n >\n <OutsidePressHandler\n onOutsidePress={() => this.hide()}\n >\n <View\n style={[\n this.styles.root,\n isDropdownVisible ? { borderBottomLeftRadius: 0, borderBottomRightRadius: 0 } : null,\n !this.state.isValid ? this.styles.invalid : null,\n ]}\n ref={(ref: any) => { this.view = ref; }}\n onLayout={(e: any) => {\n const { width, height } = e.nativeEvent.layout;\n this.searchInputWidth = width;\n this.searchInputHeight = height;\n }}\n >\n <TextInput\n {...this.getTestPropsForInput()}\n {...getAccessibilityProps(AccessibilityWidgetType.SEARCH, props)}\n ref={(ref: any) => {\n this.widgetRef = ref;\n // @ts-ignore\n if (ref && !isNull(ref.selectionStart) && !isNull(ref.selectionEnd)) {\n // @ts-ignore\n ref.selectionStart = ref.selectionEnd = this.cursor;\n }\n }}\n style={[\n this.styles.text,\n Platform.OS === 'web' ? this.styles.inputWeb : null,\n (showLeadingIcon || showBackIcon) ? this.styles.inputWithLeadingIcon : null,\n showTrailingIcon ? this.styles.inputWithTrailingIcon : null,\n ]}\n placeholder={props.placeholder || 'Search'}\n placeholderTextColor={this.styles.placeholderText?.color as any}\n autoFocus={props.autofocus}\n editable={!(props.disabled || props.readonly)}\n autoComplete=\"off\"\n autoCorrect={false}\n autoCapitalize=\"none\"\n onChangeText={this.onChange.bind(this)}\n onChange={this.invokeChange.bind(this)}\n onFocus={this.onFocus.bind(this)}\n onBlur={this.onBlur.bind(this)}\n {...inputOpts}\n />\n {(showLeadingIcon || showBackIcon) && (\n <View style={[\n this.styles.iconWrapper, \n { left: 4 }]}>\n <WmIcon\n styles={this.styles.leadingIcon}\n id={this.getTestId(showBackIcon ? 'backicon' : 'leadingicon')}\n iconclass={showBackIcon\n ? props.backsearchiconclass\n : props.leadingiconclass\n }\n iconsize={24}\n onTap={showBackIcon\n ? this.handleBackIconPress.bind(this)\n : this.handleLeadingIconPress.bind(this)\n }\n disabled={!showBackIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n {showTrailingIcon && (\n <View style={[this.styles.iconWrapper,\n { right: 4 }]}>\n <WmIcon\n styles={this.styles.trailingIcon}\n id={this.getTestId(showClearIcon ? 'clear' : 'search')}\n iconclass={showClearIcon\n ? props.clearsearchiconclass\n : props.searchiconclass\n }\n iconsize={24}\n onTap={showClearIcon\n ? this.clearSearch.bind(this)\n : this.searchIconPress.bind(this)\n }\n disabled={!showClearIcon && (props.disabled || props.readonly)}\n />\n </View>\n )}\n \n\n {isDropdownVisible ? (\n <View\n style={this.theme.mergeStyle(\n this.styles.modalContent,\n this.styles.dropdownContainer,\n this.searchInputWidth ? { width: this.searchInputWidth } : null,\n this.searchInputHeight ? { top: this.searchInputHeight } : null,\n )}\n >\n {this.renderDropdownContent(props, filteredData)}\n </View>\n ) : null}\n </View>\n </OutsidePressHandler>\n </View>\n );\n }\n}\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAAyBC,QAAQ,EAAEC,IAAI,EAAEC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC9E,SAASC,UAAU,QAAQ,8BAA8B;AACzD,SAASC,GAAG,EAAEC,MAAM,QAAQ,QAAQ;AAEpC,OAAOC,aAAa,MAAM,gBAAgB;AAC1C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,OAAOC,YAAY,IAAIC,aAAa,IAAIC,iBAAiB,QAAQ,uEAAuE;AACxI,SAASC,uBAAuB,EAAEC,qBAAqB,QAAQ,iDAAiD;AAChH,OAAOC,MAAM,MAAM,mEAAmE;AACtF,SAASC,aAAa,QAAQ,kDAAkD;AAChF,SAASC,cAAc,QAAQ,2EAA2E;AAC1G,OAAOC,mBAAmB,MAAM,yDAAyD;AACzF,OAAO,MAAMP,aAAa,SAASC,iBAAiB,CAAC;AAGrD,SAASO,WAAWA,CAACC,GAAQ,EAAW;EACtC,OAAO,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,CAACC,MAAM,GAAG,CAAC,IAAID,GAAG,KAAK,OAAO,IAAIA,GAAG,KAAK,MAAM,IAAIA,GAAG,KAAK,WAAW;AAC9G;AAEA,eAAe,MAAME,QAAQ,SAAUZ,YAAY,CAAS;EAI1Da,WAAWA,CACTC,KAAoB,EACpBC,YAAoB,GAAGhB,aAAa,EACpCiB,YAA2B,GAAG,IAAIlB,aAAa,CAAC,CAAC,EACjDmB,YAA2B,GAAG,IAAIhB,aAAa,CAAC,CAAC,EACjD;IACA,KAAK,CAACa,KAAK,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC;IAACC,eAAA,4BAR7B,CAAC;IAAAA,eAAA,sBA8DR,MAAM;MACzB,IAAI,CAACC,WAAW,CAAC;QAAEC,QAAQ,EAAE;MAAK,CAAkB,CAAC;IACvD,CAAC;IAAAF,eAAA,eAEa,MAAM;MAClB,IAAI,IAAI,CAACG,KAAK,CAACD,QAAQ,EAAE;QACvB,IAAI,CAACD,WAAW,CAAC;UAAEC,QAAQ,EAAE;QAAM,CAAkB,CAAC;MACxD;IACF,CAAC;EA7DD;EAEQE,sBAAsBA,CAAA,EAAG;IAC/B,IAAI,CAACC,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAACC,KAAK,CAAC,CAAC;EAC9D;EAEQC,mBAAmBA,CAAA,EAAG;IAC5B,IAAI,CAACN,WAAW,CAAC;MACfL,KAAK,EAAE;QAAEY,KAAK,EAAE;MAAG,CAAC;MACpBC,SAAS,EAAE,IAAI,CAACN,KAAK,CAACM,SAAS,GAC3B,IAAI,CAACN,KAAK,CAACM,SAAS,CAACC,GAAG,CAAEC,IAAS,IAAK;QAAEA,IAAI,CAACC,QAAQ,GAAG,KAAK;QAAE,OAAOD,IAAI;MAAE,CAAC,CAAC,GAChF;IACN,CAAkB,CAAC;IACnB,IAAI,CAACE,IAAI,CAAC,CAAC;EACb;EAEAC,eAAeA,CAAA,EAAG;IAChB,MAAMN,KAAK,GAAG,IAAI,CAACL,KAAK,CAACP,KAAK,CAACY,KAAK,IAAI,EAAE;IAE1C,IAAI,IAAI,CAACL,KAAK,CAACP,KAAK,CAACmB,QAAQ,KAAK,mBAAmB,EAAE;MACrD,IAAI,CAACC,kBAAkB,CAACR,KAAK,CAAC;MAC9B,IAAIA,KAAK,IAAI,IAAI,CAACS,MAAM,CAACC,KAAK,CAACC,OAAO,KAAK,MAAM,EAAE;QACjD,IAAI,CAACC,WAAW,IAAI,IAAI,CAACA,WAAW,CAAC,CAAC;MACxC;IACF,CAAC,MAAM;MACL,IAAI,CAACC,SAAS,GAAG,KAAK;MACtB,IAAI,CAACC,YAAY,CAAC,IAAI,CAACnB,KAAK,CAACoB,IAAI,CAAC,CAAC,CAAC,CAAC;IACvC;IAEA,IAAI7C,GAAG,CAAC,IAAI,CAACkB,KAAK,EAAE,WAAW,CAAC,EAAE;MAAA,IAAA4B,qBAAA,EAAAC,WAAA;MAChC,CAAAD,qBAAA,IAAAC,WAAA,OAAI,CAAC7B,KAAK,EAAC8B,WAAW,cAAAF,qBAAA,eAAtBA,qBAAA,CAAAG,IAAA,CAAAF,WAAA,EAAyB,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC,MAAM;MACL,IAAI,CAACpB,mBAAmB,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACpD;IACA,IAAI,CAACgB,SAAS,GAAG,KAAK;EACxB;EAEOO,cAAcA,CAAChC,KAAoB,EAAmB;IAAA,IAAAiC,iBAAA,EAAAC,kBAAA;IAC3D,OAAOzC,cAAc,CAAC,IAAI,CAAC0C,KAAK,EAAE,IAAI,CAACd,MAAM,CAACe,QAAQ,EAAE;MACtD,GAAG,IAAI,CAACf,MAAM,CAACgB,IAAI;MACnBC,KAAK,EAAGtC,KAAK,CAACuC,aAAa,MAAAN,iBAAA,GAAI,IAAI,CAACZ,MAAM,CAACgB,IAAI,cAAAJ,iBAAA,uBAAhBA,iBAAA,CAAkBK,KAAK,CAAmB;MACzEE,MAAM,EAAGxC,KAAK,CAACyC,cAAc,MAAAP,kBAAA,GAAI,IAAI,CAACb,MAAM,CAACgB,IAAI,cAAAH,kBAAA,uBAAhBA,kBAAA,CAAkBM,MAAM;IAC3D,CAAC,CAAC;EACJ;EAEApB,kBAAkBA,CAACsB,SAAiB,GAAG,EAAE,EAAE;IACzC,KAAK,CAACtB,kBAAkB,CAACsB,SAAS,CAAC;IAEnC,IAAI,IAAI,CAACjB,SAAS,IAAIiB,SAAS,IAAI,IAAI,CAACrB,MAAM,CAACC,KAAK,CAACC,OAAO,KAAK,MAAM,IAAI,CAAC,IAAI,CAAChB,KAAK,CAACD,QAAQ,EAAE;MAC/F,IAAI,CAACkB,WAAW,IAAI,IAAI,CAACA,WAAW,CAAC,CAAC;IACxC;EACF;EAYAmB,qBAAqBA,CAAC3C,KAAoB,EAAE4C,YAAmB,EAAE;IAC/D,MAAMC,KAAK,GAAGD,YAAY,CAAC9B,GAAG,CAAC,CAACC,IAAS,EAAE+B,KAAa,KAAK;MAC3D,IAAI9C,KAAK,CAAC+C,KAAK,IAAID,KAAK,GAAG,CAAC,GAAG9C,KAAK,CAAC+C,KAAK,EAAE,OAAO,IAAI;MACvD,OAAO,IAAI,CAACC,gBAAgB,CAACjC,IAAI,EAAE+B,KAAK,CAAC;IAC3C,CAAC,CAAC;IACF,IAAIF,YAAY,CAAC/C,MAAM,KAAK,CAAC,EAAE;MAC7B,oBACErB,KAAA,CAAAyE,aAAA,CAACrE,IAAI;QAACsE,KAAK,EAAE;UAAEZ,KAAK,EAAE;QAAO;MAAE,gBAC7B9D,KAAA,CAAAyE,aAAA,CAACrE,IAAI;QAACsE,KAAK,EAAE,IAAI,CAAC7B,MAAM,CAAC8B;MAAgB,gBACvC3E,KAAA,CAAAyE,aAAA,CAACrE,IAAI;QAACsE,KAAK,EAAE,IAAI,CAAC7B,MAAM,CAAC+B;MAAW,gBAClC5E,KAAA,CAAAyE,aAAA,CAACvE,IAAI,QACFsB,KAAK,CAACqD,qBACH,CACF,CACF,CACF,CAAC;IAEX;IACA,oBACE7E,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MAACsE,KAAK,EAAE;QAAEZ,KAAK,EAAE;MAAO;IAAE,gBAC7B9D,KAAA,CAAAyE,aAAA,CAACzD,aAAa;MAAC8D,KAAK,EAAE,IAAI,CAACC;IAAU,GAClCvD,KAAK,CAACwD,uBAAuB,gBAC5BhF,KAAA,CAAAyE,aAAA,CAACpE,UAAU;MACT4E,qBAAqB,EAAE,IAAI,CAACpC,MAAM,CAAC8B,eAAgB;MACnDO,4BAA4B,EAAE;IAAM,GAEnCb,KACS,CAAC,gBAEbrE,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MAACsE,KAAK,EAAE,IAAI,CAAC7B,MAAM,CAAC8B;IAAgB,GACtCN,KACG,CAEK,CACX,CAAC;EAEX;EAEAc,YAAYA,CAAC3D,KAAoB,EAAE;IAAA,IAAA4D,qBAAA;IACjC,MAAMtD,QAAQ,GAAG,IAAI,CAACC,KAAK,CAACD,QAAQ;IACpC,MAAMsC,YAAY,GAAG,IAAI,CAACrC,KAAK,CAACoB,IAAI,IAAI,EAAE;IAC1C,MAAMkC,iBAAiB,GAAGvD,QAAQ;IAElC,MAAMwD,cAAc,GAAGnE,WAAW,CAACK,KAAK,CAAC+D,gBAAgB,CAAC;IAC1D,MAAMC,iBAAiB,GAAGrE,WAAW,CAACK,KAAK,CAACiE,mBAAmB,CAAC;IAChE,MAAMC,aAAa,GAAGvE,WAAW,CAACK,KAAK,CAACmE,eAAe,CAAC;IACxD,MAAMC,kBAAkB,GAAGzE,WAAW,CAACK,KAAK,CAACqE,oBAAoB,CAAC;IAClE,MAAMzD,KAAK,GAAG,IAAI,CAACL,KAAK,CAACP,KAAK,CAACY,KAAK,IAAI,EAAE;IAC1C,MAAM0D,mBAAmB,GAAGtE,KAAK,CAACmB,QAAQ,KAAK,mBAAmB;IAGlE,MAAMoD,YAAY,GAAG,CAACV,iBAAiB,IAAI,IAAI,CAACpC,SAAS,KAAKuC,iBAAiB;IAC/E,MAAMQ,eAAe,GAAGV,cAAc,IAAI,CAACS,YAAY;IAEvD,MAAME,aAAa,GAAGL,kBAAkB,IAAIpE,KAAK,CAAC0E,SAAS,IAAI,CAAC,CAAC9D,KAAK,KACnE0D,mBAAmB,GAAGT,iBAAiB,GAAG,IAAI,CAAC;IAClD,MAAMc,cAAc,GAAG,CAACF,aAAa,IAAI,CAACZ,iBAAiB,IAAIK,aAAa,IAAIlE,KAAK,CAAC2E,cAAc,KAAK,KAAK;IAC9G,MAAMC,gBAAgB,GAAGD,cAAc,IAAIF,aAAa;IAExD,IAAII,SAAc,GAAG,CAAC,CAAC;IACvB,MAAMC,SAAS,GAAGrG,QAAQ,CAACsG,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,cAAc;IAClEF,SAAS,CAACC,SAAS,CAAC,GAAGlE,KAAK;IAC5B,oBACEpC,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MACHsE,KAAK,EAAE,IAAI,CAACf,KAAK,CAAC6C,UAAU,CAC1B,IAAI,CAAC3D,MAAM,CAAC4D,WAAW,EACvBpB,iBAAiB,GAAG,IAAI,CAACxC,MAAM,CAAC6D,uBAAuB,GAAG,IAC5D;IAAE,gBAEF1G,KAAA,CAAAyE,aAAA,CAACvD,mBAAmB;MAClByF,cAAc,EAAEA,CAAA,KAAM,IAAI,CAAClE,IAAI,CAAC;IAAE,gBAEpCzC,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MACHsE,KAAK,EAAE,CACL,IAAI,CAAC7B,MAAM,CAACgB,IAAI,EAChBwB,iBAAiB,GAAG;QAAEuB,sBAAsB,EAAE,CAAC;QAAEC,uBAAuB,EAAE;MAAE,CAAC,GAAG,IAAI,EACpF,CAAC,IAAI,CAAC9E,KAAK,CAAC+E,OAAO,GAAG,IAAI,CAACjE,MAAM,CAACkE,OAAO,GAAG,IAAI,CAChD;MACFC,GAAG,EAAGA,GAAQ,IAAK;QAAE,IAAI,CAACC,IAAI,GAAGD,GAAG;MAAE,CAAE;MACxCE,QAAQ,EAAGC,CAAM,IAAK;QACpB,MAAM;UAAErD,KAAK;UAAEE;QAAO,CAAC,GAAGmD,CAAC,CAACC,WAAW,CAACC,MAAM;QAC9C,IAAI,CAACC,gBAAgB,GAAGxD,KAAK;QAC7B,IAAI,CAACyD,iBAAiB,GAAGvD,MAAM;MACjC;IAAE,gBAEFhE,KAAA,CAAAyE,aAAA,CAACtE,SAAS,EAAAqH,QAAA,KACJ,IAAI,CAACC,oBAAoB,CAAC,CAAC,EAC3B3G,qBAAqB,CAACD,uBAAuB,CAAC6G,MAAM,EAAElG,KAAK,CAAC;MAChEwF,GAAG,EAAGA,GAAQ,IAAK;QACjB,IAAI,CAACW,SAAS,GAAGX,GAAG;QACpB;QACA,IAAIA,GAAG,IAAI,CAACzG,MAAM,CAACyG,GAAG,CAACY,cAAc,CAAC,IAAI,CAACrH,MAAM,CAACyG,GAAG,CAACa,YAAY,CAAC,EAAE;UACnE;UACAb,GAAG,CAACY,cAAc,GAAGZ,GAAG,CAACa,YAAY,GAAG,IAAI,CAACC,MAAM;QACrD;MACF,CAAE;MACFpD,KAAK,EAAE,CACL,IAAI,CAAC7B,MAAM,CAACkF,IAAI,EAChB9H,QAAQ,CAACsG,EAAE,KAAK,KAAK,GAAG,IAAI,CAAC1D,MAAM,CAACmF,QAAQ,GAAG,IAAI,EAClDhC,eAAe,IAAID,YAAY,GAAI,IAAI,CAAClD,MAAM,CAACoF,oBAAoB,GAAG,IAAI,EAC3E7B,gBAAgB,GAAG,IAAI,CAACvD,MAAM,CAACqF,qBAAqB,GAAG,IAAI,CAC3D;MACFC,WAAW,EAAE3G,KAAK,CAAC2G,WAAW,IAAI,QAAS;MAC3CC,oBAAoB,GAAAhD,qBAAA,GAAE,IAAI,CAACvC,MAAM,CAACwF,eAAe,cAAAjD,qBAAA,uBAA3BA,qBAAA,CAA6BkD,KAAa;MAChEC,SAAS,EAAE/G,KAAK,CAACgH,SAAU;MAC3BC,QAAQ,EAAE,EAAEjH,KAAK,CAACkH,QAAQ,IAAIlH,KAAK,CAACmH,QAAQ,CAAE;MAC9CC,YAAY,EAAC,KAAK;MAClBC,WAAW,EAAE,KAAM;MACnBC,cAAc,EAAC,MAAM;MACrBC,YAAY,EAAE,IAAI,CAACC,QAAQ,CAACC,IAAI,CAAC,IAAI,CAAE;MACvCD,QAAQ,EAAE,IAAI,CAACE,YAAY,CAACD,IAAI,CAAC,IAAI,CAAE;MACvCE,OAAO,EAAE,IAAI,CAACA,OAAO,CAACF,IAAI,CAAC,IAAI,CAAE;MACjCG,MAAM,EAAE,IAAI,CAACA,MAAM,CAACH,IAAI,CAAC,IAAI;IAAE,GAC3B5C,SAAS,CACd,CAAC,EACH,CAACL,eAAe,IAAID,YAAY,kBACjC/F,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MAACsE,KAAK,EAAE,CACX,IAAI,CAAC7B,MAAM,CAACwG,WAAW,EACvB;QAAEC,IAAI,EAAE;MAAE,CAAC;IAAE,gBACbtJ,KAAA,CAAAyE,aAAA,CAAC1D,MAAM;MACL8B,MAAM,EAAE,IAAI,CAACA,MAAM,CAAC0G,WAAY;MAChCC,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC1D,YAAY,GAAG,UAAU,GAAG,aAAa,CAAE;MAC9D2D,SAAS,EAAE3D,YAAY,GACnBvE,KAAK,CAACiE,mBAAmB,GACzBjE,KAAK,CAAC+D,gBACT;MACDoE,QAAQ,EAAE,EAAG;MACbC,KAAK,EAAE7D,YAAY,GACf,IAAI,CAAC5D,mBAAmB,CAAC8G,IAAI,CAAC,IAAI,CAAC,GACnC,IAAI,CAACjH,sBAAsB,CAACiH,IAAI,CAAC,IAAI,CACxC;MACDP,QAAQ,EAAE,CAAC3C,YAAY,KAAKvE,KAAK,CAACkH,QAAQ,IAAIlH,KAAK,CAACmH,QAAQ;IAAE,CAC/D,CACG,CACP,EACCvC,gBAAgB,iBAChBpG,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MAACsE,KAAK,EAAE,CAAC,IAAI,CAAC7B,MAAM,CAACwG,WAAW,EACpC;QAAEQ,KAAK,EAAE;MAAE,CAAC;IAAE,gBACb7J,KAAA,CAAAyE,aAAA,CAAC1D,MAAM;MACL8B,MAAM,EAAE,IAAI,CAACA,MAAM,CAACiH,YAAa;MACjCN,EAAE,EAAE,IAAI,CAACC,SAAS,CAACxD,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAE;MACvDyD,SAAS,EAAEzD,aAAa,GACpBzE,KAAK,CAACqE,oBAAoB,GAC1BrE,KAAK,CAACmE,eACT;MACDgE,QAAQ,EAAE,EAAG;MACbC,KAAK,EAAE3D,aAAa,GAChB,IAAI,CAAC8D,WAAW,CAACd,IAAI,CAAC,IAAI,CAAC,GAC3B,IAAI,CAACvG,eAAe,CAACuG,IAAI,CAAC,IAAI,CACjC;MACDP,QAAQ,EAAE,CAACzC,aAAa,KAAKzE,KAAK,CAACkH,QAAQ,IAAIlH,KAAK,CAACmH,QAAQ;IAAE,CAChE,CACG,CACP,EAGEtD,iBAAiB,gBAChBrF,KAAA,CAAAyE,aAAA,CAACrE,IAAI;MACHsE,KAAK,EAAE,IAAI,CAACf,KAAK,CAAC6C,UAAU,CAC1B,IAAI,CAAC3D,MAAM,CAACmH,YAAY,EACxB,IAAI,CAACnH,MAAM,CAACoH,iBAAiB,EAC7B,IAAI,CAAC3C,gBAAgB,GAAG;QAAExD,KAAK,EAAE,IAAI,CAACwD;MAAiB,CAAC,GAAG,IAAI,EAC/D,IAAI,CAACC,iBAAiB,GAAG;QAAE2C,GAAG,EAAE,IAAI,CAAC3C;MAAkB,CAAC,GAAG,IAC7D;IAAE,GAED,IAAI,CAACpD,qBAAqB,CAAC3C,KAAK,EAAE4C,YAAY,CAC3C,CAAC,GACL,IACE,CACe,CACjB,CAAC;EAEX;AACF","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
2
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
3
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
4
+ import WmSearchPropsBase from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.props';
5
+ export default class WmSearchProps extends WmSearchPropsBase {
6
+ constructor(...args) {
7
+ super(...args);
8
+ _defineProperty(this, "leadingiconclass", void 0);
9
+ _defineProperty(this, "backsearchiconclass", void 0);
10
+ _defineProperty(this, "scrollablesearchresults", true);
11
+ _defineProperty(this, "noresultsfoundmessage", 'No results found');
12
+ }
13
+ }
14
+ //# sourceMappingURL=search.props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["WmSearchPropsBase","WmSearchProps","constructor","args","_defineProperty"],"sources":["search.props.ts"],"sourcesContent":["import WmSearchPropsBase from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.props';\n\nexport default class WmSearchProps extends WmSearchPropsBase {\n leadingiconclass?: string;\n backsearchiconclass?: string;\n scrollablesearchresults?: boolean = true;\n noresultsfoundmessage?: string = 'No results found';\n}\n"],"mappings":";;;AAAA,OAAOA,iBAAiB,MAAM,mEAAmE;AAEjG,eAAe,MAAMC,aAAa,SAASD,iBAAiB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA,kCAGvB,IAAI;IAAAA,eAAA,gCACP,kBAAkB;EAAA;AACrD","ignoreList":[]}
@@ -0,0 +1,127 @@
1
+ import '@wavemaker-ai/app-rn-runtime/components/basic/search/search.styles';
2
+ import { Platform } from 'react-native';
3
+ import BASE_THEME from '@wavemaker-ai/app-rn-runtime/styles/theme';
4
+ import { defineStyles } from '@wavemaker-ai/app-rn-runtime/core/base.component';
5
+ export const DEFAULT_CLASS = 'app-search';
6
+ const M3_ICON_TOUCH_SIZE = 48;
7
+ const M3_ICON_SIZE = 24;
8
+ const M3_DROPDOWN_MAX_HEIGHT = 320;
9
+ const m3Elevation1 = Platform.select({
10
+ ios: {
11
+ shadowColor: '#000',
12
+ shadowOffset: {
13
+ width: 0,
14
+ height: 1
15
+ },
16
+ shadowOpacity: 0.15,
17
+ shadowRadius: 3
18
+ },
19
+ android: {
20
+ elevation: 1
21
+ },
22
+ default: {}
23
+ });
24
+ const m3Elevation2 = Platform.select({
25
+ ios: {
26
+ shadowColor: '#000',
27
+ shadowOffset: {
28
+ width: 0,
29
+ height: 2
30
+ },
31
+ shadowOpacity: 0.15,
32
+ shadowRadius: 6
33
+ },
34
+ android: {
35
+ elevation: 3
36
+ },
37
+ default: {}
38
+ });
39
+ BASE_THEME.registerStyle((themeVariables, addStyle) => {
40
+ const prismSearchLayout = defineStyles({
41
+ rootWrapper: {
42
+ position: 'relative'
43
+ },
44
+ rootWrapperDropdownOpen: {
45
+ zIndex: 10
46
+ },
47
+ root: {
48
+ ...m3Elevation1
49
+ },
50
+ text: {},
51
+ inputWeb: {
52
+ outline: 'none',
53
+ boxShadow: 'none'
54
+ },
55
+ leadingIcon: {
56
+ root: {
57
+ width: M3_ICON_TOUCH_SIZE,
58
+ height: M3_ICON_TOUCH_SIZE,
59
+ justifyContent: 'center',
60
+ alignItems: 'center'
61
+ },
62
+ icon: {
63
+ fontSize: M3_ICON_SIZE
64
+ },
65
+ text: {}
66
+ },
67
+ trailingIcon: {
68
+ root: {
69
+ width: M3_ICON_TOUCH_SIZE,
70
+ height: M3_ICON_TOUCH_SIZE,
71
+ justifyContent: 'center',
72
+ alignItems: 'center'
73
+ },
74
+ icon: {
75
+ fontSize: M3_ICON_SIZE
76
+ },
77
+ text: {}
78
+ },
79
+ inputWithLeadingIcon: {
80
+ paddingLeft: 52
81
+ },
82
+ inputWithTrailingIcon: {
83
+ paddingRight: 52
84
+ },
85
+ iconWrapper: {
86
+ position: 'absolute',
87
+ top: 0,
88
+ bottom: 0,
89
+ justifyContent: 'center',
90
+ pointerEvents: 'box-none'
91
+ },
92
+ modalContent: {
93
+ position: 'absolute'
94
+ },
95
+ dropdownContainer: {
96
+ position: 'absolute',
97
+ left: 0,
98
+ zIndex: 999,
99
+ maxHeight: M3_DROPDOWN_MAX_HEIGHT,
100
+ overflow: 'hidden',
101
+ ...m3Elevation2,
102
+ ...(Platform.OS === 'android' ? {
103
+ elevation: 8
104
+ } : {})
105
+ },
106
+ searchItem: {
107
+ flexDirection: 'row',
108
+ alignItems: 'center',
109
+ gap: 12
110
+ }
111
+ });
112
+ addStyle(DEFAULT_CLASS, '', prismSearchLayout);
113
+ addStyle(DEFAULT_CLASS + '-disabled', '', {
114
+ root: {
115
+ opacity: 0.38
116
+ }
117
+ });
118
+ addStyle(DEFAULT_CLASS + '-rtl', '', {
119
+ root: {
120
+ flexDirection: 'row-reverse'
121
+ },
122
+ searchItem: {
123
+ flexDirection: 'row-reverse'
124
+ }
125
+ });
126
+ });
127
+ //# sourceMappingURL=search.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Platform","BASE_THEME","defineStyles","DEFAULT_CLASS","M3_ICON_TOUCH_SIZE","M3_ICON_SIZE","M3_DROPDOWN_MAX_HEIGHT","m3Elevation1","select","ios","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","android","elevation","default","m3Elevation2","registerStyle","themeVariables","addStyle","prismSearchLayout","rootWrapper","position","rootWrapperDropdownOpen","zIndex","root","text","inputWeb","outline","boxShadow","leadingIcon","justifyContent","alignItems","icon","fontSize","trailingIcon","inputWithLeadingIcon","paddingLeft","inputWithTrailingIcon","paddingRight","iconWrapper","top","bottom","pointerEvents","modalContent","dropdownContainer","left","maxHeight","overflow","OS","searchItem","flexDirection","gap","opacity"],"sources":["search.styles.ts"],"sourcesContent":["import '@wavemaker-ai/app-rn-runtime/components/basic/search/search.styles';\n\nimport { Platform } from 'react-native';\nimport BASE_THEME, {\n AllStyle,\n} from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport { defineStyles } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { WmIconStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSearchStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.styles';\n\nexport type WmSearchPrismStyles = WmSearchStyles & {\n inputWeb: AllStyle;\n leadingIcon: WmIconStyles;\n trailingIcon: WmIconStyles;\n iconWrapper: AllStyle;\n inputWithLeadingIcon: AllStyle;\n inputWithTrailingIcon: AllStyle;\n dropdownContainer: AllStyle;\n rootWrapperDropdownOpen: AllStyle;\n rootWrapper: AllStyle;\n};\n\nexport const DEFAULT_CLASS = 'app-search';\n\nconst M3_ICON_TOUCH_SIZE = 48;\nconst M3_ICON_SIZE = 24;\nconst M3_DROPDOWN_MAX_HEIGHT = 320;\n\nconst m3Elevation1 = Platform.select({\n ios: {\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.15,\n shadowRadius: 3,\n },\n android: { elevation: 1 },\n default: {},\n}) as AllStyle;\n\nconst m3Elevation2 = Platform.select({\n ios: {\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.15,\n shadowRadius: 6,\n },\n android: { elevation: 3 },\n default: {},\n}) as AllStyle;\n\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const prismSearchLayout = defineStyles({\n rootWrapper: {\n position: 'relative',\n },\n rootWrapperDropdownOpen: {\n zIndex: 10,\n },\n root: {\n ...m3Elevation1,\n },\n text: {},\n inputWeb: {\n outline: 'none',\n boxShadow: 'none',\n },\n leadingIcon: {\n root: {\n width: M3_ICON_TOUCH_SIZE,\n height: M3_ICON_TOUCH_SIZE,\n justifyContent: 'center',\n alignItems: 'center',\n },\n icon: { fontSize: M3_ICON_SIZE },\n text: {},\n } as WmIconStyles,\n trailingIcon: {\n root: {\n width: M3_ICON_TOUCH_SIZE,\n height: M3_ICON_TOUCH_SIZE,\n justifyContent: 'center',\n alignItems: 'center',\n },\n icon: { fontSize: M3_ICON_SIZE },\n text: {},\n } as WmIconStyles,\n inputWithLeadingIcon: {\n paddingLeft: 52,\n },\n inputWithTrailingIcon: {\n paddingRight: 52,\n },\n iconWrapper: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n justifyContent: 'center',\n pointerEvents: 'box-none',\n },\n modalContent: {\n position: 'absolute',\n },\n dropdownContainer: {\n position: 'absolute',\n left: 0,\n zIndex: 999,\n maxHeight: M3_DROPDOWN_MAX_HEIGHT,\n overflow: 'hidden',\n ...m3Elevation2,\n ...(Platform.OS === 'android' ? { elevation: 8 } : {}),\n },\n searchItem: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n },\n }) as any;\n\n addStyle(DEFAULT_CLASS, '', prismSearchLayout);\n\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root: {\n opacity: 0.38,\n },\n });\n\n addStyle(DEFAULT_CLASS + '-rtl', '', {\n root: {\n flexDirection: 'row-reverse',\n },\n searchItem: {\n flexDirection: 'row-reverse',\n },\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,7 @@ export let AccessibilityWidgetType = /*#__PURE__*/function (AccessibilityWidgetT
39
39
  AccessibilityWidgetType["SLIDER"] = "slider";
40
40
  AccessibilityWidgetType["BOTTOMSHEET"] = "bottomsheet";
41
41
  AccessibilityWidgetType["TABS"] = "tab";
42
+ AccessibilityWidgetType["OFFLINE_BANNER"] = "offlinebanner";
42
43
  return AccessibilityWidgetType;
43
44
  }({});
44
45
  ;
@@ -184,6 +185,14 @@ export const getAccessibilityProps = (widgetType, accessibilityProps) => {
184
185
  props.accessibilityRole = accessibilityProps.accessibilityrole;
185
186
  break;
186
187
  }
188
+ case AccessibilityWidgetType.OFFLINE_BANNER:
189
+ {
190
+ props.accessibilityLabel = accessibilityProps.accessibilitylabel || 'Offline mode notification';
191
+ props.accessibilityHint = accessibilityProps.hint;
192
+ props.accessibilityRole = accessibilityProps.accessibilityrole || 'alert';
193
+ props.accessibilityLiveRegion = 'polite';
194
+ break;
195
+ }
187
196
  default:
188
197
  break;
189
198
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","accessible","importantForAccessibility","props","BUTTON","TEXT","NUMBER","TEXTAREA","CURRENCY","TOGGLE","DATE","LABEL","MESSAGE","SEARCH","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","checked","selected","TABS","title","ANCHOR","badgevalue","CHECKBOX","_accessibilityProps$c2","readonly","SELECT","displayValue","expanded","RADIOSET","CHECKBOXSET","SWITCH","PROGRESSBAR","PROGRESSCIRCLE","_accessibilityProps$c3","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 CHECKBOXSET = 'checkboxset',\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' | 'checkbox' | 'combobox' | '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 if(accessibilityProps.accessible === false){\n return {accessible: false, importantForAccessibility: \"no\"}\n }\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.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\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 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.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.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.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n checked: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.TABS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.title;\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'tab';\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.ANCHOR: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || (accessibilityProps.badgevalue ? `${accessibilityProps.caption} ${accessibilityProps.badgevalue}` : accessibilityProps.caption);\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'checkbox'\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SELECT: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.displayValue || \"Select an option\"\n props.accessibilityHint = accessibilityProps.hint\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'button',\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n expanded: accessibilityProps.expanded,\n };\n if(isAndroid()) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || 'Select your preferred option';\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'radiogroup'\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOXSET: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || 'Select your preferred options';\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'combobox'\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || \"Select an option\";\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole\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":"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","ignoreList":[]}
1
+ {"version":3,"names":["AccessibilityInfo","isAndroid","isWebPreviewMode","removeUndefinedKeys","_isScreenReaderEnabled","addEventListener","flag","isScreenReaderEnabled","getScreenReaderStatus","AccessibilityWidgetType","getAccessibilityProps","widgetType","accessibilityProps","accessible","importantForAccessibility","props","BUTTON","TEXT","NUMBER","TEXTAREA","CURRENCY","TOGGLE","DATE","LABEL","MESSAGE","SEARCH","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","checked","selected","TABS","title","ANCHOR","badgevalue","CHECKBOX","_accessibilityProps$c2","readonly","SELECT","displayValue","expanded","RADIOSET","CHECKBOXSET","SWITCH","PROGRESSBAR","PROGRESSCIRCLE","_accessibilityProps$c3","PICTURE","alttext","OFFLINE_BANNER","accessibilityLiveRegion","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 CHECKBOXSET = 'checkboxset',\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 OFFLINE_BANNER = 'offlinebanner'\n};\n\n \nexport type AccessibilityPropsType = {\n accessible?: boolean;\n accessibilityLabel?: string;\n accessibilityLabelledBy?: string;\n accessibilityHint?: string;\n accessibilityRole?: 'button' | 'checkbox' | 'combobox' | '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 if(accessibilityProps.accessible === false){\n return {accessible: false, importantForAccessibility: \"no\"}\n }\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.CURRENCY:\n case AccessibilityWidgetType.TOGGLE:\n case AccessibilityWidgetType.DATE:\n case AccessibilityWidgetType.LABEL:\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 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.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.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.TOGGLE) {\n props.accessibilityState = {\n ...props.accessibilityState,\n checked: accessibilityProps.selected,\n };\n }\n break;\n }\n\n case AccessibilityWidgetType.TABS: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.title;\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'tab';\n props.accessibilityState = {\n ...props.accessibilityState,\n selected: accessibilityProps.selected,\n };\n break;\n }\n\n case AccessibilityWidgetType.ANCHOR: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || (accessibilityProps.badgevalue ? `${accessibilityProps.caption} ${accessibilityProps.badgevalue}` : accessibilityProps.caption);\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOX: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.caption?.toString();\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'checkbox'\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n checked: accessibilityProps.checked,\n };\n break;\n }\n\n case AccessibilityWidgetType.SELECT: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || accessibilityProps.displayValue || \"Select an option\"\n props.accessibilityHint = accessibilityProps.hint\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'button',\n props.accessibilityState = {\n disabled: accessibilityProps.readonly || accessibilityProps.disabled,\n expanded: accessibilityProps.expanded,\n };\n if(isAndroid()) {\n props.accessibilityLabelledBy =\n accessibilityProps.accessibilitylabelledby;\n }\n break;\n }\n\n case AccessibilityWidgetType.RADIOSET: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || 'Select your preferred option';\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'radiogroup'\n break;\n }\n\n case AccessibilityWidgetType.CHECKBOXSET: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || 'Select your preferred options';\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'combobox'\n break;\n }\n\n case AccessibilityWidgetType.SWITCH: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || \"Select an option\";\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole\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 case AccessibilityWidgetType.OFFLINE_BANNER: {\n props.accessibilityLabel = accessibilityProps.accessibilitylabel || 'Offline mode notification';\n props.accessibilityHint = accessibilityProps.hint;\n props.accessibilityRole = accessibilityProps.accessibilityrole || 'alert';\n props.accessibilityLiveRegion = 'polite';\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;EAAvBA,uBAAuB;EAAvBA,uBAAuB;EAAA,OAAvBA,uBAAuB;AAAA;AA+BlC;AAgCD,OAAO,MAAMC,qBAAqB,GAAGA,CAACC,UAAmC,EAAEC,kBAAgD,KAAK;EAC9H,IAAGA,kBAAkB,CAACC,UAAU,KAAK,KAAK,EAAC;IACzC,OAAO;MAACA,UAAU,EAAE,KAAK;MAAEC,yBAAyB,EAAE;IAAI,CAAC;EAC7D;EACA,IAAIC,KAA6B,GAAG;IAACF,UAAU,EAAE;EAAI,CAAC;EACtD,IAAI,CAACT,sBAAsB,IAAIF,gBAAgB,CAAC,CAAC,EAAE;IACjD,OAAO,CAAC,CAAC;EACX;EACA,QAAQS,UAAU;IAChB,KAAKF,uBAAuB,CAACO,MAAM;IACnC,KAAKP,uBAAuB,CAACQ,IAAI;IACjC,KAAKR,uBAAuB,CAACS,MAAM;IACnC,KAAKT,uBAAuB,CAACU,QAAQ;IACrC,KAAKV,uBAAuB,CAACW,QAAQ;IACrC,KAAKX,uBAAuB,CAACY,MAAM;IACnC,KAAKZ,uBAAuB,CAACa,IAAI;IACjC,KAAKb,uBAAuB,CAACc,KAAK;IAClC,KAAKd,uBAAuB,CAACe,OAAO;IACpC,KAAKf,uBAAuB,CAACgB,MAAM;IACnC,KAAKhB,uBAAuB,CAACiB,IAAI;IACjC,KAAKjB,uBAAuB,CAACkB,GAAG;IAChC,KAAKlB,uBAAuB,CAACmB,OAAO;IACpC,KAAKnB,uBAAuB,CAACoB,WAAW;IACxC,KAAKpB,uBAAuB,CAACqB,OAAO;IACpC,KAAKrB,uBAAuB,CAACsB,SAAS;IACtC,KAAKtB,uBAAuB,CAACuB,MAAM;IACnC,KAAKvB,uBAAuB,CAACwB,KAAK;MAAE;QAAA,IAAAC,qBAAA;QAClCnB,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,MAAAF,qBAAA,GAAItB,kBAAkB,CAACyB,OAAO,cAAAH,qBAAA,uBAA1BA,qBAAA,CAA4BI,QAAQ,CAAC,CAAC;QAC1GvB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB;QAE9D,IACE/B,UAAU,KAAKF,uBAAuB,CAACO,MAAM,IAC7CL,UAAU,KAAKF,uBAAuB,CAACQ,IAAI,IAC3CN,UAAU,KAAKF,uBAAuB,CAACS,MAAM,IAC7CP,UAAU,KAAKF,uBAAuB,CAACU,QAAQ,IAC/CR,UAAU,KAAKF,uBAAuB,CAACY,MAAM,IAC7CV,UAAU,KAAKF,uBAAuB,CAACa,IAAI,EAC3C;UACAP,KAAK,CAAC4B,kBAAkB,GAAG;YAAEC,QAAQ,EAAEhC,kBAAkB,CAACgC;UAAS,CAAC;QACtE;QACA,IACE,CAACjC,UAAU,KAAKF,uBAAuB,CAACQ,IAAI,IAC1CN,UAAU,KAAKF,uBAAuB,CAACS,MAAM,IAC7CP,UAAU,KAAKF,uBAAuB,CAACU,QAAQ,IAC/CR,UAAU,KAAKF,uBAAuB,CAACW,QAAQ,IAC/CT,UAAU,KAAKF,uBAAuB,CAACY,MAAM,KAC/CpB,SAAS,CAAC,CAAC,EACX;UACAc,KAAK,CAAC8B,uBAAuB,GAC3BjC,kBAAkB,CAACkC,uBAAuB;QAC9C;QACA,IACEnC,UAAU,KAAKF,uBAAuB,CAACS,MAAM,IAC7CP,UAAU,KAAKF,uBAAuB,CAACW,QAAQ,EAC/C;UACAL,KAAK,CAACgC,kBAAkB,GAAG;YACzBC,GAAG,EAAEpC,kBAAkB,CAACqC,QAAQ;YAChCC,GAAG,EAAEtC,kBAAkB,CAACuC;UAC1B,CAAC;QACH;QACA,IAAIxC,UAAU,KAAKF,uBAAuB,CAACY,MAAM,EAAE;UACjDN,KAAK,CAAC4B,kBAAkB,GAAG;YACzB,GAAG5B,KAAK,CAAC4B,kBAAkB;YAC3BS,OAAO,EAAExC,kBAAkB,CAACyC;UAC9B,CAAC;QACH;QACA;MACF;IAEA,KAAK5C,uBAAuB,CAAC6C,IAAI;MAAE;QACjCvC,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAIxB,kBAAkB,CAAC2C,KAAK;QAC5FxC,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB,IAAI,KAAK;QACvE3B,KAAK,CAAC4B,kBAAkB,GAAG;UACzB,GAAG5B,KAAK,CAAC4B,kBAAkB;UAC3BU,QAAQ,EAAEzC,kBAAkB,CAACyC;QAC/B,CAAC;QACD;MACF;IAEA,KAAK5C,uBAAuB,CAAC+C,MAAM;MAAE;QACnCzC,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,KAAKxB,kBAAkB,CAAC6C,UAAU,GAAG,GAAG7C,kBAAkB,CAACyB,OAAO,IAAIzB,kBAAkB,CAAC6C,UAAU,EAAE,GAAG7C,kBAAkB,CAACyB,OAAO,CAAC;QACnMtB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB;QAC9D;MACF;IAEA,KAAKjC,uBAAuB,CAACiD,QAAQ;MAAE;QAAA,IAAAC,sBAAA;QACrC5C,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,MAAAuB,sBAAA,GAAI/C,kBAAkB,CAACyB,OAAO,cAAAsB,sBAAA,uBAA1BA,sBAAA,CAA4BrB,QAAQ,CAAC,CAAC;QAC1GvB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB,IAAI,UAAU;QAC5E3B,KAAK,CAAC4B,kBAAkB,GAAG;UACzBC,QAAQ,EAAEhC,kBAAkB,CAACgD,QAAQ,IAAKhD,kBAAkB,CAACgC,QAAQ;UACrEQ,OAAO,EAAExC,kBAAkB,CAACwC;QAC9B,CAAC;QACD;MACF;IAEA,KAAK3C,uBAAuB,CAACoD,MAAM;MAAE;QACnC9C,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAIxB,kBAAkB,CAACkD,YAAY,IAAI,kBAAkB;QACzH/C,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB,IAAI,QAAQ,EAC1E3B,KAAK,CAAC4B,kBAAkB,GAAG;UACzBC,QAAQ,EAAEhC,kBAAkB,CAACgD,QAAQ,IAAKhD,kBAAkB,CAACgC,QAAQ;UACrEmB,QAAQ,EAAEnD,kBAAkB,CAACmD;QAC/B,CAAC;QACD,IAAG9D,SAAS,CAAC,CAAC,EAAE;UACdc,KAAK,CAAC8B,uBAAuB,GAC3BjC,kBAAkB,CAACkC,uBAAuB;QAC9C;QACA;MACF;IAEA,KAAKrC,uBAAuB,CAACuD,QAAQ;MAAE;QACrCjD,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAI,8BAA8B;QAClGrB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB,IAAI,YAAY;QAC9E;MACF;IAEA,KAAKjC,uBAAuB,CAACwD,WAAW;MAAE;QACxClD,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAI,+BAA+B;QACnGrB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB,IAAI,UAAU;QAC5E;MACF;IAEA,KAAKjC,uBAAuB,CAACyD,MAAM;MAAE;QACnCnD,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAI,kBAAkB;QACtFrB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB;QAC9D3B,KAAK,CAAC4B,kBAAkB,GAAG;UACzBC,QAAQ,EAAEhC,kBAAkB,CAACgC,QAAQ;UACrCS,QAAQ,EAAEzC,kBAAkB,CAACyC;QAC/B,CAAC;QACD;MACF;IACA,KAAK5C,uBAAuB,CAAC0D,WAAW;IACxC,KAAK1D,uBAAuB,CAAC2D,cAAc;MAAE;QAAA,IAAAC,sBAAA;QAC3CtD,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,MAAAiC,sBAAA,GAAIzD,kBAAkB,CAACyB,OAAO,cAAAgC,sBAAA,uBAA1BA,sBAAA,CAA4B/B,QAAQ,CAAC,CAAC;QAC1GvB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB;QAC9D;MACF;IACA,KAAKjC,uBAAuB,CAAC6D,OAAO;MAAE;QACpCvD,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAIxB,kBAAkB,CAAC2D,OAAO,IAAI,OAAO;QACzGxD,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB;QAC9D;MACF;IACA,KAAKjC,uBAAuB,CAAC+D,cAAc;MAAE;QAC3CzD,KAAK,CAACoB,kBAAkB,GAAGvB,kBAAkB,CAACwB,kBAAkB,IAAI,2BAA2B;QAC/FrB,KAAK,CAACwB,iBAAiB,GAAG3B,kBAAkB,CAAC4B,IAAI;QACjDzB,KAAK,CAAC0B,iBAAiB,GAAG7B,kBAAkB,CAAC8B,iBAAiB,IAAI,OAAO;QACzE3B,KAAK,CAAC0D,uBAAuB,GAAG,QAAQ;QACxC;MACF;IACA;MACE;EACJ;EAEA,MAAMC,UAAU,GAAGvE,mBAAmB,CAACY,KAAK,CAAC;EAC7C;;EAEA,OAAO2D,UAAU;AACnB,CAAC","ignoreList":[]}
@@ -234,6 +234,65 @@ export function getDirectionStyle(props) {
234
234
  }
235
235
  return directionStyle;
236
236
  }
237
+
238
+ /**
239
+ * Resolves a plain (non-auto-layout) widget's own width/height fill|hug tokens into
240
+ * flex styles based on its parent's direction. Deliberately independent of
241
+ * getDimensionStyle (which drives auto-layout containers) so this can be applied
242
+ * generically to any widget without touching that existing, already-relied-upon logic.
243
+ * No-ops unless width/height is exactly 'fill' or 'hug'.
244
+ */
245
+ export function resolveFillHugStyle(width, height, parentDirection, hasParentAlignment = false) {
246
+ const dimensionStyle = {};
247
+ const isRow = parentDirection === 'row';
248
+ if (height === 'fill') {
249
+ if (!parentDirection) {
250
+ dimensionStyle.height = '100%';
251
+ } else {
252
+ if (isRow) {
253
+ dimensionStyle.alignSelf = 'stretch';
254
+ } else {
255
+ dimensionStyle.flexGrow = 1;
256
+ dimensionStyle.flexShrink = 0;
257
+ dimensionStyle.flexBasis = 0;
258
+ dimensionStyle.minHeight = 0;
259
+ }
260
+ dimensionStyle.height = undefined;
261
+ }
262
+ } else if (height === 'hug') {
263
+ if (parentDirection && !isRow) {
264
+ dimensionStyle.flexGrow = 0;
265
+ }
266
+ dimensionStyle.height = undefined;
267
+ }
268
+ if (width === 'fill') {
269
+ if (!parentDirection) {
270
+ dimensionStyle.width = '100%';
271
+ } else {
272
+ if (isRow) {
273
+ dimensionStyle.flexGrow = 1;
274
+ dimensionStyle.flexShrink = 0;
275
+ dimensionStyle.flexBasis = 0;
276
+ dimensionStyle.minWidth = 0;
277
+ } else {
278
+ dimensionStyle.alignSelf = 'stretch';
279
+ }
280
+ dimensionStyle.width = undefined;
281
+ }
282
+ } else if (width === 'hug') {
283
+ if (parentDirection) {
284
+ if (isRow) {
285
+ dimensionStyle.flexGrow = 0;
286
+ dimensionStyle.flexBasis = 'auto';
287
+ dimensionStyle.flexShrink = 0;
288
+ } else if (!hasParentAlignment) {
289
+ dimensionStyle.alignSelf = 'flex-start';
290
+ }
291
+ }
292
+ dimensionStyle.width = undefined;
293
+ }
294
+ return dimensionStyle;
295
+ }
237
296
  export function extractAutoLayoutProps(source, parentProps) {
238
297
  var _source$overflow, _source$parentdirecti, _source$parentalignme;
239
298
  return {