@wavemaker/app-rn-runtime 11.15.3-rc.647481 → 11.15.4-rc.647493

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.
@@ -16,6 +16,59 @@ import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
16
16
  import { StickyContainer } from '@wavemaker/app-rn-runtime/core/components/sticky-container.component';
17
17
  import { getParentStyles } from '@wavemaker/app-rn-runtime/core/components/sticky-container.styles';
18
18
  import injector from '@wavemaker/app-rn-runtime/core/injector';
19
+ // Alignment matrix for flex properties
20
+ const alignmentMatrixFixed = {
21
+ 'top-left': {
22
+ justifyContent: 'flex-start',
23
+ alignItems: 'flex-start'
24
+ },
25
+ 'top-center': {
26
+ justifyContent: 'center',
27
+ alignItems: 'flex-start'
28
+ },
29
+ 'top-right': {
30
+ justifyContent: 'flex-end',
31
+ alignItems: 'flex-start'
32
+ },
33
+ 'middle-left': {
34
+ justifyContent: 'flex-start',
35
+ alignItems: 'center'
36
+ },
37
+ 'middle-center': {
38
+ justifyContent: 'center',
39
+ alignItems: 'center'
40
+ },
41
+ 'middle-right': {
42
+ justifyContent: 'flex-end',
43
+ alignItems: 'center'
44
+ },
45
+ 'bottom-left': {
46
+ justifyContent: 'flex-start',
47
+ alignItems: 'flex-end'
48
+ },
49
+ 'bottom-center': {
50
+ justifyContent: 'center',
51
+ alignItems: 'flex-end'
52
+ },
53
+ 'bottom-right': {
54
+ justifyContent: 'flex-end',
55
+ alignItems: 'flex-end'
56
+ }
57
+ };
58
+ const alignmentMatrixAuto = {
59
+ start: {
60
+ justifyContent: 'space-between',
61
+ alignItems: 'flex-start'
62
+ },
63
+ center: {
64
+ justifyContent: 'space-between',
65
+ alignItems: 'center'
66
+ },
67
+ end: {
68
+ justifyContent: 'space-between',
69
+ alignItems: 'flex-end'
70
+ }
71
+ };
19
72
  export class WmContainerState extends PartialHostState {
20
73
  constructor(...args) {
21
74
  super(...args);
@@ -48,14 +101,181 @@ export default class WmContainer extends PartialHost {
48
101
  getBackground() {
49
102
  return this._showSkeleton ? null : this._background;
50
103
  }
104
+ isAutoLayout() {
105
+ const {
106
+ direction,
107
+ wrap,
108
+ gap,
109
+ alignment,
110
+ columngap
111
+ } = this.props;
112
+
113
+ /* Check if any of the new layout props are provided. If not, return an empty
114
+ style object to maintain backward compatibility. */
115
+ const isAutoLayoutPresent = direction !== undefined || wrap !== undefined || gap !== undefined || alignment !== undefined || columngap !== undefined;
116
+ return isAutoLayoutPresent;
117
+ }
118
+ getDimensionStyle(direction, isInnerView = false) {
119
+ const baseStyle = this.styles.root || {};
120
+ const {
121
+ width,
122
+ height
123
+ } = baseStyle;
124
+ const dimensionStyle = {};
125
+ const isRow = direction === "row";
126
+ if (isInnerView) {
127
+ if (width && width !== 'hug') {
128
+ dimensionStyle.width = '100%';
129
+ }
130
+ if (height && height !== 'hug') {
131
+ dimensionStyle.height = '100%';
132
+ }
133
+ return dimensionStyle;
134
+ }
135
+ if (height === 'fill') {
136
+ var _this$props;
137
+ if (!((_this$props = this.props) !== null && _this$props !== void 0 && _this$props['parent-direction'])) {
138
+ dimensionStyle.height = '100%';
139
+ } else {
140
+ if (isRow) {
141
+ dimensionStyle.alignSelf = 'stretch';
142
+ } else {
143
+ dimensionStyle.flexGrow = 1;
144
+ }
145
+ dimensionStyle.height = undefined;
146
+ }
147
+ } else if (height === 'hug' || height === undefined) {
148
+ if (isRow) {
149
+ dimensionStyle.alignSelf = 'flex-start';
150
+ } else {
151
+ dimensionStyle.flexGrow = 0;
152
+ }
153
+ dimensionStyle.height = undefined;
154
+ } else if (height) {
155
+ const num = typeof height === 'string' && height.endsWith('%') ? height : parseFloat(height);
156
+ dimensionStyle.height = isNaN(num) ? height : num;
157
+ }
158
+ if (width === 'fill') {
159
+ if (isRow) {
160
+ dimensionStyle.flexGrow = 1;
161
+ dimensionStyle.flexShrink = 1;
162
+ dimensionStyle.minWidth = 0;
163
+ } else {
164
+ dimensionStyle.alignSelf = 'stretch';
165
+ }
166
+ dimensionStyle.width = undefined;
167
+ } else if (width === 'hug') {
168
+ if (isRow) {
169
+ dimensionStyle.flexGrow = 0;
170
+ } else {
171
+ dimensionStyle.alignSelf = 'flex-start';
172
+ }
173
+ dimensionStyle.width = undefined;
174
+ } else if (width === undefined) {
175
+ if (isRow) {
176
+ dimensionStyle.flexGrow = 0;
177
+ } else {
178
+ dimensionStyle.alignSelf = 'stretch';
179
+ }
180
+ dimensionStyle.width = undefined;
181
+ } else if (width) {
182
+ const num = typeof width === 'string' && width.endsWith('%') ? width : parseFloat(width);
183
+ dimensionStyle.width = isNaN(num) ? width : num;
184
+ }
185
+ return dimensionStyle;
186
+ }
187
+ getGapStyle() {
188
+ const {
189
+ direction,
190
+ wrap,
191
+ gap,
192
+ alignment,
193
+ columngap
194
+ } = this.props;
195
+
196
+ /* Check if any of the new layout props are provided. If not, return an empty
197
+ style object to maintain backward compatibility. */
198
+ const isAutoLayout = this.isAutoLayout();
199
+ if (!isAutoLayout) {
200
+ return {};
201
+ }
202
+ const finalGap = gap !== null && gap !== void 0 ? gap : 4;
203
+ const finalDirection = direction !== null && direction !== void 0 ? direction : 'row';
204
+ const finalAlignment = alignment !== null && alignment !== void 0 ? alignment : 'top-left';
205
+ const isAutoGap = finalGap === 'auto';
206
+ const isRow = finalDirection === 'row';
207
+ const layoutStyle = {};
208
+ if (isAutoGap) {
209
+ const alignConfig = alignmentMatrixAuto[finalAlignment] || alignmentMatrixAuto['start'];
210
+ layoutStyle.justifyContent = alignConfig.justifyContent;
211
+ layoutStyle.alignItems = alignConfig.alignItems;
212
+ } else {
213
+ if (isRow) {
214
+ // For a row, the main-axis gap (between items) is columnGap.
215
+ layoutStyle.columnGap = Number(finalGap);
216
+ } else {
217
+ // For a column, the main-axis gap (between items) is rowGap.
218
+ layoutStyle.rowGap = Number(finalGap);
219
+ }
220
+ }
221
+ return layoutStyle;
222
+ }
223
+
224
+ // Compute content layout (flexDirection, wrap, gap, justifyContent, alignItems).
225
+ getContentContainerStyle() {
226
+ const {
227
+ direction,
228
+ wrap,
229
+ gap,
230
+ alignment,
231
+ columngap
232
+ } = this.props;
233
+
234
+ /* Check if any of the new layout props are provided. If not, return an empty
235
+ style object to maintain backward compatibility. */
236
+ if (!this.isAutoLayout()) {
237
+ return {};
238
+ }
239
+
240
+ // Apply defaults only if the new layout system is active
241
+ const finalDirection = direction !== null && direction !== void 0 ? direction : 'row';
242
+ const finalWrap = wrap !== null && wrap !== void 0 ? wrap : false;
243
+ const finalGap = gap !== null && gap !== void 0 ? gap : 4;
244
+ const finalAlignment = alignment !== null && alignment !== void 0 ? alignment : 'top-left';
245
+ const isRow = finalDirection === 'row';
246
+ const isAutoGap = finalGap === 'auto';
247
+ const isWrap = finalWrap === 'true' || finalWrap === true;
248
+ const layoutStyle = {
249
+ // flexDirection: finalDirection,
250
+ flexWrap: isWrap && isRow ? 'wrap' : 'nowrap'
251
+ };
252
+ if (!isAutoGap) {
253
+ const alignConfig = alignmentMatrixFixed[finalAlignment] || alignmentMatrixFixed['top-left'];
254
+ layoutStyle.justifyContent = isRow ? alignConfig.justifyContent : alignConfig.alignItems;
255
+ layoutStyle.alignItems = isRow ? alignConfig.alignItems : alignConfig.justifyContent;
256
+ }
257
+
258
+ // Add columnGap logic for wrapped rows
259
+ if (isWrap && isRow) {
260
+ if (columngap === 'auto') {
261
+ layoutStyle.alignContent = 'space-between';
262
+ } else if (columngap !== undefined) {
263
+ layoutStyle.rowGap = Number(columngap);
264
+ }
265
+ }
266
+ return {
267
+ ...layoutStyle,
268
+ ...this.getGapStyle()
269
+ };
270
+ }
51
271
  renderSkeleton(props) {
52
272
  if (!props.showskeletonchildren) {
53
- var _this$props;
273
+ var _this$props2;
54
274
  const dimensions = {
55
275
  width: this.styles.root.width ? '100%' : undefined,
56
276
  height: this.styles.root.height ? '100%' : undefined
57
277
  };
58
- const skeletonStyles = ((_this$props = this.props) === null || _this$props === void 0 || (_this$props = _this$props.styles) === null || _this$props === void 0 ? void 0 : _this$props.skeleton) || {
278
+ const skeletonStyles = ((_this$props2 = this.props) === null || _this$props2 === void 0 || (_this$props2 = _this$props2.styles) === null || _this$props2 === void 0 ? void 0 : _this$props2.skeleton) || {
59
279
  root: {},
60
280
  text: {}
61
281
  };
@@ -99,36 +319,54 @@ export default class WmContainer extends PartialHost {
99
319
  }
100
320
  }
101
321
  renderStickyContent(props, dimensions, styles) {
322
+ var _this$props3, _this$props5;
102
323
  const {
103
324
  stickyContainerVisibility
104
325
  } = this.state;
105
326
  const {
106
327
  positioningStyles
107
328
  } = getParentStyles(this);
329
+ const autoLayoutStyle = this.getContentContainerStyle();
330
+ const directionStyle = {};
331
+ if ((_this$props3 = this.props) !== null && _this$props3 !== void 0 && _this$props3.direction) {
332
+ var _this$props4;
333
+ directionStyle.flexDirection = (_this$props4 = this.props) === null || _this$props4 === void 0 ? void 0 : _this$props4.direction;
334
+ }
335
+ const autoLayoutDimensionsInner = this.getDimensionStyle((_this$props5 = this.props) === null || _this$props5 === void 0 ? void 0 : _this$props5.direction, true);
336
+ const isAutoLayout = this.isAutoLayout();
108
337
  return /*#__PURE__*/React.createElement(React.Fragment, null, stickyContainerVisibility ? /*#__PURE__*/React.createElement(StickyContainer, {
109
338
  component: this,
110
339
  theme: this.theme,
111
340
  style: [this.styles.sticky, {
112
341
  backgroundColor: styles.backgroundColor
113
- }],
342
+ }, isAutoLayout ? directionStyle : {}],
114
343
  positionStyles: positioningStyles,
115
344
  show: props.show
116
345
  }, /*#__PURE__*/React.createElement(View, {
117
- style: [dimensions, {
346
+ style: [isAutoLayout ? autoLayoutDimensionsInner : dimensions, {
118
347
  backgroundColor: styles.backgroundColor
119
- }, this.styles.content]
348
+ }, this.styles.content, isAutoLayout ? autoLayoutStyle : {}]
120
349
  }, this.renderContent(props))) : /*#__PURE__*/React.createElement(React.Fragment, null), /*#__PURE__*/React.createElement(Animated.View, {
121
- style: [dimensions, {
350
+ style: [isAutoLayout ? autoLayoutDimensionsInner : dimensions, {
122
351
  opacity: this.stickyContainerOpacity
123
- }, this.styles.content],
352
+ }, this.styles.content, isAutoLayout ? autoLayoutStyle : {}],
124
353
  ref: this.containerRef
125
354
  }, this.renderContent(props)));
126
355
  }
127
356
  renderWidget(props) {
357
+ var _this$props6, _this$props8, _this$props9;
358
+ const autoLayoutStyle = this.getContentContainerStyle();
359
+ const directionStyle = {};
360
+ if ((_this$props6 = this.props) !== null && _this$props6 !== void 0 && _this$props6.direction) {
361
+ var _this$props7;
362
+ directionStyle.flexDirection = (_this$props7 = this.props) === null || _this$props7 === void 0 ? void 0 : _this$props7.direction;
363
+ }
128
364
  const dimensions = {
129
365
  width: this.styles.root.width ? '100%' : undefined,
130
366
  height: this.styles.root.height ? '100%' : undefined
131
367
  };
368
+ const autoLayoutDimensions = this.getDimensionStyle((_this$props8 = this.props) === null || _this$props8 === void 0 ? void 0 : _this$props8.direction);
369
+ const autoLayoutDimensionsInner = this.getDimensionStyle((_this$props9 = this.props) === null || _this$props9 === void 0 ? void 0 : _this$props9.direction, true);
132
370
  const styles = this._showSkeleton ? {
133
371
  ...this.styles.root,
134
372
  ...this.styles.skeleton.root
@@ -136,28 +374,43 @@ export default class WmContainer extends PartialHost {
136
374
  if (props.sticky) {
137
375
  this.isSticky = true;
138
376
  }
377
+ const isAutoLayout = this.isAutoLayout();
139
378
  return /*#__PURE__*/React.createElement(SafeAreaInsetsContext.Consumer, null, (insets = {
140
379
  top: 0,
141
380
  bottom: 0,
142
381
  left: 0,
143
382
  right: 0
144
383
  }) => {
384
+ var _this$props0;
145
385
  this.insets = insets;
146
386
  return /*#__PURE__*/React.createElement(Animatedview, {
147
387
  entryanimation: props.animation,
148
388
  delay: props.animationdelay,
149
- style: styles,
389
+ style: [styles, isAutoLayout ? {
390
+ ...this.getDimensionStyle((_this$props0 = this.props) === null || _this$props0 === void 0 ? void 0 : _this$props0['parent-direction']),
391
+ ...directionStyle
392
+ } : {}],
150
393
  onLayout: (event, ref) => {
151
394
  this.handleLayout(event, ref);
152
395
  }
153
396
  }, this.getBackground(), /*#__PURE__*/React.createElement(Tappable, _extends({}, this.getTestPropsForAction(), {
154
397
  target: this,
155
- styles: dimensions,
398
+ styles: [isAutoLayout ? {
399
+ ...autoLayoutDimensionsInner,
400
+ ...directionStyle
401
+ } : dimensions],
156
402
  disableTouchEffect: this.state.props.disabletoucheffect
157
403
  }), props.sticky ? this.renderStickyContent(props, dimensions, styles) : !props.scrollable ? /*#__PURE__*/React.createElement(View, {
158
- style: [dimensions, this.styles.content]
404
+ style: [isAutoLayout ? autoLayoutDimensionsInner : dimensions, this.styles.content, isAutoLayout ? {
405
+ ...directionStyle,
406
+ ...autoLayoutStyle,
407
+ minWidth: 0
408
+ } : {}]
159
409
  }, this.renderContent(props)) : /*#__PURE__*/React.createElement(ScrollView, {
160
- style: [dimensions, this.styles.content],
410
+ style: [isAutoLayout ? autoLayoutDimensionsInner : dimensions, this.styles.content, isAutoLayout ? {
411
+ ...directionStyle,
412
+ ...autoLayoutStyle
413
+ } : {}],
161
414
  onScroll: event => this.notify('scroll', [event]),
162
415
  scrollEventThrottle: 48
163
416
  }, this.renderContent(props))));
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Platform","Animated","WmContainerProps","DEFAULT_CLASS","Tappable","Animatedview","PartialHost","PartialHostState","createSkeleton","ScrollView","StickyWrapperContext","SafeAreaInsetsContext","StickyContainer","getParentStyles","injector","WmContainerState","constructor","args","_defineProperty","WmContainer","props","get","top","bottom","left","right","containerRef","createRef","stickyContainerOpacity","Value","subscribe","_event","sticky","setTimeout","getStickyHeaderTranslateY","getBackground","_showSkeleton","_background","renderSkeleton","showskeletonchildren","_this$props","dimensions","width","styles","root","undefined","height","skeletonStyles","skeleton","text","theme","createElement","style","opacity","_extends","getTestPropsForAction","target","disableTouchEffect","state","disabletoucheffect","content","renderContent","_this$appConfig","_this$containerRef","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","current","measure","_x","_y","_width","_height","px","py","_this$insets","topInsetsInYposition","OS","insets","context","stickyContainerTranslateY","value","updateState","stickyContainerVisibility","componentDidUpdate","_prevProps","prevState","timing","toValue","delay","useNativeDriver","start","renderStickyContent","positioningStyles","Fragment","component","backgroundColor","positionStyles","show","ref","renderWidget","isSticky","Consumer","entryanimation","animation","animationdelay","onLayout","event","handleLayout","scrollable","onScroll","notify","scrollEventThrottle"],"sources":["container.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, ViewStyle, Platform, Animated } from 'react-native';\nimport WmContainerProps from './container.props';\nimport { DEFAULT_CLASS, WmContainerStyles } from './container.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { PartialHost, PartialHostState } from './partial-host.component';\nimport { createSkeleton } from '../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../basic/skeleton/skeleton.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyContainer } from '@wavemaker/app-rn-runtime/core/components/sticky-container.component';\nimport { getParentStyles } from '@wavemaker/app-rn-runtime/core/components/sticky-container.styles';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\nexport class WmContainerState extends PartialHostState<WmContainerProps> {\n isPartialLoaded = false;\n stickyContainerVisibility = false;\n}\n\nexport default class WmContainer extends PartialHost<WmContainerProps, WmContainerState, WmContainerStyles> {\n static contextType = StickyWrapperContext;\n private containerRef: React.RefObject<View | null>;\n private stickyContainerOpacity: Animated.Value;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\n\n constructor(props: WmContainerProps) {\n super(props, DEFAULT_CLASS, new WmContainerProps(), new WmContainerState());\n this.containerRef = React.createRef();\n this.stickyContainerOpacity = new Animated.Value(1);\n\n this.subscribe('updateStickyHeaders', (_event: any) => {\n if(this.props.sticky){\n setTimeout(()=>{\n this.getStickyHeaderTranslateY();\n }, 500);\n }\n })\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n } \n \n public renderSkeleton(props: WmContainerProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const dimensions = {\n width: this.styles.root.width ? '100%' : undefined,\n height: this.styles.root.height ? '100%' : undefined\n }; \n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={dimensions} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[dimensions as ViewStyle, this.styles.content]}>{this.renderContent(props)}</View>\n </Tappable>\n\n </View>))\n }\n return null;\n }\n\n public getStickyHeaderTranslateY(){\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.containerRef?.current?.measure((_x = 0, _y = 0, _width = 0, _height = 0, px = 0, py = 0)=>{\n const topInsetsInYposition = (Platform.OS == 'ios' && !isEdgeToEdgeApp) ? (this.insets?.top || 0): 0\n if((this.context) && (this.context as StickyWrapperContextType).stickyContainerTranslateY) {\n (this.context as StickyWrapperContextType).stickyContainerTranslateY.value = py - topInsetsInYposition ;\n this.updateState({ stickyContainerVisibility: true} as WmContainerState); \n }\n })\n }\n\n componentDidUpdate(_prevProps: any, prevState: any) {\n if (prevState.stickyContainerVisibility !== this.state.stickyContainerVisibility) {\n Animated.timing(this.stickyContainerOpacity, {\n toValue: this.state.stickyContainerVisibility ? 0 : 1,\n delay: 500,\n useNativeDriver: true\n }).start();\n }\n }\n\n private renderStickyContent(props: WmContainerProps, dimensions: ViewStyle, styles: ViewStyle) {\n const { stickyContainerVisibility } = this.state;\n const { positioningStyles } = getParentStyles(this);\n\n return (\n <>\n {stickyContainerVisibility ? (\n <StickyContainer\n component={this}\n theme={this.theme}\n style={[\n this.styles.sticky,\n { backgroundColor: styles.backgroundColor }\n ]}\n positionStyles={positioningStyles}\n show={props.show as boolean}\n >\n <View style={[dimensions as ViewStyle, { backgroundColor: styles.backgroundColor }, this.styles.content]}>\n {this.renderContent(props)}\n </View>\n </StickyContainer>\n ) : <></>}\n <Animated.View \n style={[\n dimensions as ViewStyle, \n { opacity: this.stickyContainerOpacity }, \n this.styles.content\n ]} \n ref={this.containerRef}\n >\n {this.renderContent(props)}\n </Animated.View>\n </>\n );\n }\n\n renderWidget(props: WmContainerProps) {\n const dimensions: ViewStyle = {\n width: this.styles.root.width ? '100%' : undefined,\n height: this.styles.root.height ? '100%' : undefined\n };\n\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root;\n\n if (props.sticky) {\n this.isSticky = true;\n }\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return (\n <Animatedview \n entryanimation={props.animation} \n delay={props.animationdelay} \n style={styles}\n onLayout={(event: LayoutChangeEvent, ref: React.RefObject<View>) => {\n this.handleLayout(event, ref);\n }}\n >\n {this.getBackground()}\n <Tappable \n {...this.getTestPropsForAction()} \n target={this} \n styles={dimensions} \n disableTouchEffect={this.state.props.disabletoucheffect}\n >\n {props.sticky ? (\n this.renderStickyContent(props, dimensions, styles)\n ) : !props.scrollable ? (\n <View style={[dimensions as ViewStyle, this.styles.content]}>\n {this.renderContent(props)}\n </View>\n ) : (\n <ScrollView \n style={[dimensions as ViewStyle, this.styles.content]}\n onScroll={(event) => this.notify('scroll', [event])}\n scrollEventThrottle={48}\n >\n {this.renderContent(props)}\n </ScrollView>\n )}\n </Tappable>\n </Animatedview>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Platform","Animated","WmContainerProps","DEFAULT_CLASS","Tappable","Animatedview","PartialHost","PartialHostState","createSkeleton","ScrollView","StickyWrapperContext","SafeAreaInsetsContext","StickyContainer","getParentStyles","injector","alignmentMatrixFixed","justifyContent","alignItems","alignmentMatrixAuto","start","center","end","WmContainerState","constructor","args","_defineProperty","WmContainer","props","get","top","bottom","left","right","containerRef","createRef","stickyContainerOpacity","Value","subscribe","_event","sticky","setTimeout","getStickyHeaderTranslateY","getBackground","_showSkeleton","_background","isAutoLayout","direction","wrap","gap","alignment","columngap","isAutoLayoutPresent","undefined","getDimensionStyle","isInnerView","baseStyle","styles","root","width","height","dimensionStyle","isRow","_this$props","alignSelf","flexGrow","num","endsWith","parseFloat","isNaN","flexShrink","minWidth","getGapStyle","finalGap","finalDirection","finalAlignment","isAutoGap","layoutStyle","alignConfig","columnGap","Number","rowGap","getContentContainerStyle","finalWrap","isWrap","flexWrap","alignContent","renderSkeleton","showskeletonchildren","_this$props2","dimensions","skeletonStyles","skeleton","text","theme","createElement","style","opacity","_extends","getTestPropsForAction","target","disableTouchEffect","state","disabletoucheffect","content","renderContent","_this$appConfig","_this$containerRef","isEdgeToEdgeApp","appConfig","edgeToEdgeConfig","current","measure","_x","_y","_width","_height","px","py","_this$insets","topInsetsInYposition","OS","insets","context","stickyContainerTranslateY","value","updateState","stickyContainerVisibility","componentDidUpdate","_prevProps","prevState","timing","toValue","delay","useNativeDriver","renderStickyContent","_this$props3","_this$props5","positioningStyles","autoLayoutStyle","directionStyle","_this$props4","flexDirection","autoLayoutDimensionsInner","Fragment","component","backgroundColor","positionStyles","show","ref","renderWidget","_this$props6","_this$props8","_this$props9","_this$props7","autoLayoutDimensions","isSticky","Consumer","_this$props0","entryanimation","animation","animationdelay","onLayout","event","handleLayout","scrollable","onScroll","notify","scrollEventThrottle"],"sources":["container.component.tsx"],"sourcesContent":["import React from 'react';\nimport { DimensionValue, LayoutChangeEvent, StyleProp, View, ViewStyle, Platform, Animated } from 'react-native';\nimport WmContainerProps from './container.props';\nimport { DEFAULT_CLASS, WmContainerStyles } from './container.styles';\nimport { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';\nimport { Animatedview } from '@wavemaker/app-rn-runtime/components/basic/animatedview.component';\nimport { PartialHost, PartialHostState } from './partial-host.component';\nimport { createSkeleton } from '../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../basic/skeleton/skeleton.styles';\nimport { ScrollView } from 'react-native-gesture-handler';\nimport { StickyWrapperContextType, StickyWrapperContext } from '@wavemaker/app-rn-runtime/core/sticky-wrapper';\nimport { EdgeInsets, SafeAreaInsetsContext } from 'react-native-safe-area-context';\nimport { StickyContainer } from '@wavemaker/app-rn-runtime/core/components/sticky-container.component';\nimport { getParentStyles } from '@wavemaker/app-rn-runtime/core/components/sticky-container.styles';\nimport injector from '@wavemaker/app-rn-runtime/core/injector';\nimport AppConfig from '@wavemaker/app-rn-runtime/core/AppConfig';\n\n// Alignment matrix for flex properties\nconst alignmentMatrixFixed: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n 'top-left': { justifyContent: 'flex-start', alignItems: 'flex-start' },\n 'top-center': { justifyContent: 'center', alignItems: 'flex-start' },\n 'top-right': { justifyContent: 'flex-end', alignItems: 'flex-start' },\n 'middle-left': { justifyContent: 'flex-start', alignItems: 'center' },\n 'middle-center': { justifyContent: 'center', alignItems: 'center' },\n 'middle-right': { justifyContent: 'flex-end', alignItems: 'center' },\n 'bottom-left': { justifyContent: 'flex-start', alignItems: 'flex-end' },\n 'bottom-center': { justifyContent: 'center', alignItems: 'flex-end' },\n 'bottom-right': { justifyContent: 'flex-end', alignItems: 'flex-end' },\n};\n\nconst alignmentMatrixAuto: Record<\n string,\n { justifyContent: string; alignItems: string }\n> = {\n start: { justifyContent: 'space-between', alignItems: 'flex-start' },\n center: { justifyContent: 'space-between', alignItems: 'center' },\n end: { justifyContent: 'space-between', alignItems: 'flex-end' },\n};\n\nexport class WmContainerState extends PartialHostState<WmContainerProps> {\n isPartialLoaded = false;\n stickyContainerVisibility = false;\n}\n\nexport default class WmContainer extends PartialHost<WmContainerProps, WmContainerState, WmContainerStyles> {\n static contextType = StickyWrapperContext;\n private containerRef: React.RefObject<View | null>;\n private stickyContainerOpacity: Animated.Value;\n private appConfig = injector.get<AppConfig>('APP_CONFIG');\n insets: EdgeInsets | null = {\n top: 0, bottom: 0, left: 0, right: 0\n };\n\n constructor(props: WmContainerProps) {\n super(props, DEFAULT_CLASS, new WmContainerProps(), new WmContainerState());\n this.containerRef = React.createRef();\n this.stickyContainerOpacity = new Animated.Value(1);\n\n this.subscribe('updateStickyHeaders', (_event: any) => {\n if(this.props.sticky){\n setTimeout(()=>{\n this.getStickyHeaderTranslateY();\n }, 500);\n }\n })\n }\n\n getBackground(): React.JSX.Element | null {\n return this._showSkeleton ? null : this._background\n }\n\n private isAutoLayout() {\n const { direction, wrap, gap, alignment, columngap } = this.props;\n\n /* Check if any of the new layout props are provided. If not, return an empty\n style object to maintain backward compatibility. */\n const isAutoLayoutPresent = \n direction !== undefined || \n wrap !== undefined || \n gap !== undefined || \n alignment !== undefined ||\n columngap !== undefined;\n\n return isAutoLayoutPresent;\n }\n\n private getDimensionStyle(direction?: string, isInnerView: boolean = false): ViewStyle {\n const baseStyle = this.styles.root || {};\n const { width, height }: any = baseStyle;\n const dimensionStyle: ViewStyle = {};\n const isRow = direction === \"row\";\n\n if (isInnerView) {\n if (width && width !== 'hug') {\n dimensionStyle.width = '100%';\n }\n\n if (height && height !== 'hug') {\n dimensionStyle.height = '100%';\n }\n return dimensionStyle;\n }\n\n if (height === 'fill') {\n if(!this.props?.['parent-direction']) {\n dimensionStyle.height = '100%';\n } else {\n if (isRow) {\n dimensionStyle.alignSelf = 'stretch'; \n } else {\n dimensionStyle.flexGrow = 1; \n }\n dimensionStyle.height = undefined;\n }\n } \n else if (height === 'hug' || height === undefined) {\n if (isRow) {\n dimensionStyle.alignSelf = 'flex-start'; \n } else {\n dimensionStyle.flexGrow = 0; \n }\n dimensionStyle.height = undefined;\n }\n else if (height) {\n const num = (typeof height === 'string' && height.endsWith('%')) ? height : parseFloat(height);\n dimensionStyle.height = (isNaN(num as number) ? height : num) as DimensionValue;\n }\n\n if (width === 'fill') {\n if (isRow) {\n dimensionStyle.flexGrow = 1;\n dimensionStyle.flexShrink = 1;\n dimensionStyle.minWidth = 0;\n } else {\n dimensionStyle.alignSelf = 'stretch'; \n }\n dimensionStyle.width = undefined;\n } \n else if (width === 'hug') {\n if (isRow) {\n dimensionStyle.flexGrow = 0; \n } else {\n dimensionStyle.alignSelf = 'flex-start'; \n }\n dimensionStyle.width = undefined;\n }\n else if (width === undefined) {\n if (isRow) {\n dimensionStyle.flexGrow = 0; \n } else {\n dimensionStyle.alignSelf = 'stretch'; \n }\n dimensionStyle.width = undefined;\n }\n else if (width) {\n const num = (typeof width === 'string' && width.endsWith('%')) ? width : parseFloat(width);\n dimensionStyle.width = (isNaN(num as number) ? width : num) as DimensionValue;\n }\n\n return dimensionStyle;\n }\n\n private getGapStyle(): ViewStyle {\n const { direction, wrap, gap, alignment, columngap } = this.props;\n\n /* Check if any of the new layout props are provided. If not, return an empty\n style object to maintain backward compatibility. */\n const isAutoLayout = this.isAutoLayout();\n\n if (!isAutoLayout) {\n return {};\n }\n const finalGap = gap ?? 4;\n const finalDirection = direction ?? 'row';\n const finalAlignment = alignment ?? 'top-left';\n\n const isAutoGap = finalGap === 'auto';\n const isRow = finalDirection === 'row';\n\n const layoutStyle: ViewStyle = {};\n\n if (isAutoGap) {\n const alignConfig = alignmentMatrixAuto[finalAlignment] || alignmentMatrixAuto['start'];\n layoutStyle.justifyContent = alignConfig.justifyContent as ViewStyle['justifyContent'];\n layoutStyle.alignItems = alignConfig.alignItems as ViewStyle['alignItems'];\n } else {\n if (isRow) {\n // For a row, the main-axis gap (between items) is columnGap.\n layoutStyle.columnGap = Number(finalGap);\n } else {\n // For a column, the main-axis gap (between items) is rowGap.\n layoutStyle.rowGap = Number(finalGap);\n }\n }\n\n return layoutStyle;\n }\n\n // Compute content layout (flexDirection, wrap, gap, justifyContent, alignItems).\n private getContentContainerStyle(): ViewStyle {\n const { direction, wrap, gap, alignment, columngap } = this.props;\n\n /* Check if any of the new layout props are provided. If not, return an empty\n style object to maintain backward compatibility. */\n if (!this.isAutoLayout()) {\n return {};\n }\n\n // Apply defaults only if the new layout system is active\n const finalDirection = direction ?? 'row';\n const finalWrap = wrap ?? false;\n const finalGap = gap ?? 4;\n const finalAlignment = alignment ?? 'top-left';\n\n const isRow = finalDirection === 'row';\n const isAutoGap = finalGap === 'auto';\n const isWrap = finalWrap === 'true' || finalWrap === true;\n\n const layoutStyle: ViewStyle = {\n // flexDirection: finalDirection,\n flexWrap: isWrap && isRow ? 'wrap' : 'nowrap',\n };\n\n if (!isAutoGap) {\n const alignConfig =\n alignmentMatrixFixed[finalAlignment] || alignmentMatrixFixed['top-left'];\n\n layoutStyle.justifyContent = (\n isRow ? alignConfig.justifyContent : alignConfig.alignItems\n ) as ViewStyle['justifyContent'];\n layoutStyle.alignItems = (\n isRow ? alignConfig.alignItems : alignConfig.justifyContent\n ) as ViewStyle['alignItems'];\n }\n\n // Add columnGap logic for wrapped rows\n if (isWrap && isRow) {\n if (columngap === 'auto') {\n layoutStyle.alignContent = 'space-between';\n } else if (columngap !== undefined) {\n layoutStyle.rowGap = Number(columngap);\n }\n }\n\n return {\n ...layoutStyle,\n ...this.getGapStyle()\n };\n }\n \n public renderSkeleton(props: WmContainerProps): React.ReactNode {\n if(!props.showskeletonchildren) {\n const dimensions = {\n width: this.styles.root.width ? '100%' : undefined,\n height: this.styles.root.height ? '100%' : undefined\n }; \n const skeletonStyles: WmSkeletonStyles = this.props?.styles?.skeleton || { root: {}, text: {} } as WmSkeletonStyles\n return createSkeleton(this.theme, skeletonStyles, {\n ...this.styles.root\n }, (<View style={[this.styles.root, { opacity: 0 }]}>\n <Tappable {...this.getTestPropsForAction()} target={this} styles={dimensions} disableTouchEffect={this.state.props.disabletoucheffect}>\n <View style={[dimensions as ViewStyle, this.styles.content]}>{this.renderContent(props)}</View>\n </Tappable>\n\n </View>))\n }\n return null;\n }\n\n public getStickyHeaderTranslateY(){\n const isEdgeToEdgeApp = !!this.appConfig?.edgeToEdgeConfig?.isEdgeToEdgeApp;\n this.containerRef?.current?.measure((_x = 0, _y = 0, _width = 0, _height = 0, px = 0, py = 0)=>{\n const topInsetsInYposition = (Platform.OS == 'ios' && !isEdgeToEdgeApp) ? (this.insets?.top || 0): 0\n if((this.context) && (this.context as StickyWrapperContextType).stickyContainerTranslateY) {\n (this.context as StickyWrapperContextType).stickyContainerTranslateY.value = py - topInsetsInYposition ;\n this.updateState({ stickyContainerVisibility: true} as WmContainerState); \n }\n })\n }\n\n componentDidUpdate(_prevProps: any, prevState: any) {\n if (prevState.stickyContainerVisibility !== this.state.stickyContainerVisibility) {\n Animated.timing(this.stickyContainerOpacity, {\n toValue: this.state.stickyContainerVisibility ? 0 : 1,\n delay: 500,\n useNativeDriver: true\n }).start();\n }\n }\n\n private renderStickyContent(props: WmContainerProps, dimensions: ViewStyle, styles: ViewStyle) {\n const { stickyContainerVisibility } = this.state;\n const { positioningStyles } = getParentStyles(this);\n const autoLayoutStyle = this.getContentContainerStyle();\n const directionStyle: ViewStyle= {};\n if(this.props?.direction) {\n directionStyle.flexDirection = this.props?.direction;\n }\n const autoLayoutDimensionsInner = this.getDimensionStyle(this.props?.direction, true);\n const isAutoLayout = this.isAutoLayout();\n\n return (\n <>\n {stickyContainerVisibility ? (\n <StickyContainer\n component={this}\n theme={this.theme}\n style={[\n this.styles.sticky,\n { backgroundColor: styles.backgroundColor },\n isAutoLayout ? directionStyle : {}\n ]}\n positionStyles={positioningStyles}\n show={props.show as boolean}\n >\n <View style={[isAutoLayout ? autoLayoutDimensionsInner : dimensions as ViewStyle, { backgroundColor: styles.backgroundColor }, this.styles.content, isAutoLayout ? autoLayoutStyle : {}]}>\n {this.renderContent(props)}\n </View>\n </StickyContainer>\n ) : <></>}\n <Animated.View \n style={[\n isAutoLayout ? autoLayoutDimensionsInner : dimensions as ViewStyle, \n { opacity: this.stickyContainerOpacity }, \n this.styles.content,\n isAutoLayout ? autoLayoutStyle : {}\n ]} \n ref={this.containerRef}\n >\n {this.renderContent(props)}\n </Animated.View>\n </>\n );\n }\n\n renderWidget(props: WmContainerProps) {\n const autoLayoutStyle = this.getContentContainerStyle();\n const directionStyle: ViewStyle= {};\n if(this.props?.direction) {\n directionStyle.flexDirection = this.props?.direction;\n }\n\n const dimensions: ViewStyle = {\n width: this.styles.root.width ? '100%' : undefined,\n height: this.styles.root.height ? '100%' : undefined\n };\n\n const autoLayoutDimensions = this.getDimensionStyle(this.props?.direction);\n const autoLayoutDimensionsInner = this.getDimensionStyle(this.props?.direction, true);\n\n const styles = this._showSkeleton ? {\n ...this.styles.root,\n ...this.styles.skeleton.root\n } : this.styles.root;\n\n if (props.sticky) {\n this.isSticky = true;\n }\n\n const isAutoLayout = this.isAutoLayout();\n return (\n <SafeAreaInsetsContext.Consumer>\n {(insets = { top: 0, bottom: 0, left: 0, right: 0 }) => {\n this.insets = insets;\n return (\n <Animatedview \n entryanimation={props.animation} \n delay={props.animationdelay} \n style={[styles, isAutoLayout ? {...this.getDimensionStyle(this.props?.['parent-direction']), ...directionStyle} : {}]}\n onLayout={(event: LayoutChangeEvent, ref: React.RefObject<View>) => {\n this.handleLayout(event, ref);\n }}\n >\n {this.getBackground()}\n <Tappable \n {...this.getTestPropsForAction()} \n target={this} \n styles={[isAutoLayout ? { ...autoLayoutDimensionsInner, ...directionStyle } : dimensions]} \n disableTouchEffect={this.state.props.disabletoucheffect}\n >\n {props.sticky ? (\n this.renderStickyContent(props, dimensions, styles)\n ) : !props.scrollable ? (\n <View style={[\n isAutoLayout ? autoLayoutDimensionsInner : dimensions, \n this.styles.content,\n isAutoLayout ? { ...directionStyle, ...autoLayoutStyle, minWidth: 0 } : {},\n ]}>\n {this.renderContent(props)}\n </View>\n ) : (\n <ScrollView \n style={[isAutoLayout ? autoLayoutDimensionsInner : dimensions as ViewStyle,\n this.styles.content,\n isAutoLayout ? {...directionStyle, ...autoLayoutStyle } : {} ]}\n onScroll={(event) => this.notify('scroll', [event])}\n scrollEventThrottle={48}\n >\n {this.renderContent(props)}\n </ScrollView>\n )}\n </Tappable>\n </Animatedview>\n );\n }}\n </SafeAreaInsetsContext.Consumer>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}