namirasoft-site-react 1.4.508 → 1.4.509

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.
@@ -12,6 +12,7 @@ export interface NSRepeaterProps<ItemType, ValueType> extends IBaseComponentProp
12
12
  required: boolean;
13
13
  min?: number;
14
14
  max?: number;
15
+ onExternalAddRef?: (add: () => void) => void;
15
16
  ignoreItemsHavingError?: boolean;
16
17
  }
17
18
  export interface NSRepeaterState {
@@ -100,7 +100,8 @@ export class NSRepeater extends Component {
100
100
  onChange() {
101
101
  var _a, _b;
102
102
  (_b = (_a = this.props).onValuesChanged) === null || _b === void 0 ? void 0 : _b.call(_a, this);
103
- this.checkForNew();
103
+ if (!this.props.onExternalAddRef)
104
+ this.checkForNew();
104
105
  }
105
106
  checkForNew() {
106
107
  return __awaiter(this, void 0, void 0, function* () {
@@ -211,10 +212,11 @@ export class NSRepeater extends Component {
211
212
  (_a = this.NSBoxBaseLayout_Main.current) === null || _a === void 0 ? void 0 : _a.setDisabled(disabled);
212
213
  }
213
214
  componentDidMount() {
214
- var _a;
215
+ var _a, _b, _c;
215
216
  let min = (_a = this.props.min) !== null && _a !== void 0 ? _a : 1;
216
217
  for (let i = 0; i < min; i++)
217
218
  this.addItem();
219
+ (_c = (_b = this.props).onExternalAddRef) === null || _c === void 0 ? void 0 : _c.call(_b, () => this.addItem());
218
220
  }
219
221
  render() {
220
222
  let menu = safeMenuMenuItem(this.props, () => { });
@@ -234,7 +236,7 @@ export class NSRepeater extends Component {
234
236
  onDelete = this.delItem;
235
237
  let item = this.props.createItem(GIndex, LIndex, ref, this.onChange, onDelete);
236
238
  if (visible && LIndex !== 0)
237
- return (_jsxs("div", { style: Object.assign({ width: "100%" }, props.style), children: [_jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), _jsx(NSLine, {}), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), item] }, GIndex));
239
+ return (_jsxs("div", { style: Object.assign({ width: "100%" }, props.style), children: [_jsx(NSSpace, { size: NSSpaceSizeType.MINI }), _jsx(NSLine, {}), _jsx(NSSpace, { size: NSSpaceSizeType.MICRO }), item] }, GIndex));
238
240
  return (_jsx("div", { style: Object.assign({ width: "100%" }, props.style), children: item }, GIndex));
239
241
  }) })));
240
242
  }
@@ -1 +1 @@
1
- {"version":3,"file":"NSRepeater.js","sourceRoot":"","sources":["../../src/components/NSRepeater.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NSRepeater.js","sourceRoot":"","sources":["../../src/components/NSRepeater.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.508",
11
+ "version": "1.4.509",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -21,21 +21,21 @@
21
21
  "copy": "copyfiles -u 1 src/**/*.html src/**/*.css src/**/*.svg src/**/*.png src/**/*.jpg dist/"
22
22
  },
23
23
  "dependencies": {
24
- "@ant-design/charts": "^2.6.6",
24
+ "@ant-design/charts": "^2.6.7",
25
25
  "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
26
- "@types/node": "^25.0.2",
26
+ "@types/node": "^25.0.3",
27
27
  "@types/react": "^18.3.12",
28
28
  "@types/react-bootstrap": "^1.1.0",
29
29
  "@types/react-dom": "^18.3.1",
30
30
  "@types/react-gtm-module": "^2.0.4",
31
- "antd": "^6.1.0",
31
+ "antd": "^6.1.2",
32
32
  "async-mutex": "^0.5.0",
33
33
  "bootstrap": "^5.3.8",
34
34
  "chart.js": "^4.5.1",
35
35
  "copyfiles": "^2.4.1",
36
36
  "link-react": "^3.0.0",
37
37
  "namirasoft-api-link": "^1.4.20",
38
- "namirasoft-api-product": "^1.4.46",
38
+ "namirasoft-api-product": "^1.4.48",
39
39
  "namirasoft-core": "^1.4.110",
40
40
  "namirasoft-schema": "^1.4.26",
41
41
  "namirasoft-site": "^1.4.44",
@@ -9,312 +9,316 @@ import { NSSpace, NSSpaceSizeType } from './NSSpace';
9
9
 
10
10
  export interface NSRepeaterProps<ItemType, ValueType> extends IBaseComponentProps, INSBoxBaseLayoutProps<ItemType, ValueType>
11
11
  {
12
- createItem: (gIndex: number, lIndex: number, ref: React.RefObject<ItemType>, onChange: () => void, onDelete: undefined | ((lIndex: number) => void)) => ReactNode;
13
- getValue: (item: ItemType, checkError: boolean) => ValueType | null | Promise<ValueType | null>;
14
- setValue: (item: ItemType, index: number, value: ValueType | null, callback?: () => void) => void;
15
- isEmpty: (item: ItemType, value: ValueType | null) => boolean;
16
- onItemChanged?: (repeater: NSRepeater<ItemType, ValueType>) => void;
17
- onValuesChanged?: (repeater: NSRepeater<ItemType, ValueType>) => void;
18
- required: boolean;
19
- min?: number;
20
- max?: number;
21
- ignoreItemsHavingError?: boolean;
12
+ createItem: (gIndex: number, lIndex: number, ref: React.RefObject<ItemType>, onChange: () => void, onDelete: undefined | ((lIndex: number) => void)) => ReactNode;
13
+ getValue: (item: ItemType, checkError: boolean) => ValueType | null | Promise<ValueType | null>;
14
+ setValue: (item: ItemType, index: number, value: ValueType | null, callback?: () => void) => void;
15
+ isEmpty: (item: ItemType, value: ValueType | null) => boolean;
16
+ onItemChanged?: (repeater: NSRepeater<ItemType, ValueType>) => void;
17
+ onValuesChanged?: (repeater: NSRepeater<ItemType, ValueType>) => void;
18
+ required: boolean;
19
+ min?: number;
20
+ max?: number;
21
+ onExternalAddRef?: (add: () => void) => void;
22
+ ignoreItemsHavingError?: boolean;
22
23
  }
23
24
 
24
25
  export interface NSRepeaterState
25
26
  {
26
- items: boolean[];
27
+ items: boolean[];
27
28
  }
28
29
 
29
30
  export class NSRepeater<ItemType, ValueType> extends Component<NSRepeaterProps<ItemType, ValueType>, NSRepeaterState> implements INSBox
30
31
  {
31
- NSBoxBaseLayout_Main = createRef<NSBoxBaseLayout>();
32
- private Item_Refs: React.RefObject<ItemType>[] = [];
33
- private last_value: ValueType[] = [];
34
- constructor(props: NSRepeaterProps<ItemType, ValueType>)
35
- {
36
- super(props);
37
- this.state = { items: [] };
38
- this.getCount = this.getCount.bind(this);
39
- this.canDelete = this.canDelete.bind(this);
40
- this.getGIndex = this.getGIndex.bind(this);
41
- this.getIndex = this.getIndex.bind(this);
42
- this.addItem = this.addItem.bind(this);
43
- this.delItem = this.delItem.bind(this);
44
- this.onChange = this.onChange.bind(this);
45
- this.checkForNew = this.checkForNew.bind(this);
32
+ NSBoxBaseLayout_Main = createRef<NSBoxBaseLayout>();
33
+ private Item_Refs: React.RefObject<ItemType>[] = [];
34
+ private last_value: ValueType[] = [];
35
+ constructor(props: NSRepeaterProps<ItemType, ValueType>)
36
+ {
37
+ super(props);
38
+ this.state = { items: [] };
39
+ this.getCount = this.getCount.bind(this);
40
+ this.canDelete = this.canDelete.bind(this);
41
+ this.getGIndex = this.getGIndex.bind(this);
42
+ this.getIndex = this.getIndex.bind(this);
43
+ this.addItem = this.addItem.bind(this);
44
+ this.delItem = this.delItem.bind(this);
45
+ this.onChange = this.onChange.bind(this);
46
+ this.checkForNew = this.checkForNew.bind(this);
46
47
 
47
- this.isEmpty = this.isEmpty.bind(this);
48
- this.getError = this.getError.bind(this);
49
- this.getValue = this.getValue.bind(this);
50
- this.setValue = this.setValue.bind(this);
51
- }
52
- private getCount(): number
53
- {
54
- return this.state.items.filter(x => x).length;
55
- }
56
- private canDelete(gIndex: number)
57
- {
58
- if (this.Item_Refs.length > 0)
59
- {
60
- let count = this.getCount();
61
- if (count <= (this.props.min ?? 1))
62
- return false;
63
- if (count === this.props.max)
64
- return true;
65
- if (gIndex === this.state.items.length - 1)
66
- return false;
67
- return true
68
- }
69
- return false;
70
- }
71
- private getGIndex(index: number): number
72
- {
73
- if (this.state.items.length === 0)
74
- return 0;
75
- for (let i = 0; i < this.state.items.length; i++)
76
- {
77
- if (this.state.items[i])
78
- {
79
- if (index === 0)
80
- return i;
81
- index--;
82
- }
83
- }
84
- return this.state.items.length - 1;
85
- }
86
- private getIndex(gindex: number): number
87
- {
88
- if (gindex >= this.state.items.length)
89
- throw new Error("GIndex out of bound: " + gindex);
90
- let ans = -1;
91
- for (let i = 0; i <= gindex; i++)
92
- if (this.state.items[i])
93
- ans++;
94
- return ans;
95
- }
96
- private addItem(state: boolean = true)
97
- {
98
- if (!this.props.max || this.getCount() < this.props.max)
99
- {
100
- this.Item_Refs.push(createRef<ItemType>());
101
- if (state)
102
- {
103
- let items = this.state.items;
104
- items.push(true);
105
- this.setState({ items }, () =>
106
- {
107
- this.props.onItemChanged?.(this);
108
- });
109
- }
110
- }
111
- }
112
- private delItem(lIndex: number)
113
- {
114
- let gindex = this.getGIndex(lIndex);
115
- if (this.canDelete(gindex))
116
- {
117
- let items = this.state.items;
118
- items[gindex] = false;
119
- this.setState({ items }, () =>
120
- {
121
- this.props.onItemChanged?.(this);
122
- this.onChange();
123
- });
124
- }
125
- }
126
- private onChange()
127
- {
128
- this.props.onValuesChanged?.(this);
129
- this.checkForNew();
130
- }
131
- private async checkForNew()
132
- {
133
- let length = this.state.items.filter(x => x).length;
134
- if (length === 0)
135
- this.addItem();
136
- else
137
- {
138
- let last = this.Item_Refs.length - 1;
139
- while (!this.state.items[last])
140
- last--;
141
- let item = this.Item_Refs[last].current;
142
- if (item)
143
- {
144
- let value = await this.props.getValue(item, false)
145
- if (!this.props.isEmpty(item, value))
146
- {
147
- this.addItem();
148
- }
149
- }
150
- }
151
- }
152
- isEmpty(): boolean
153
- {
154
- return true;
155
- }
156
- getError(): string | null
157
- {
158
- return (
159
- Validator.getErrorArray(this.props.title, this.last_value, this.props.required, this.props.min, this.props.max)
160
- );
161
- }
162
- // todo getValueAsync and getValue are using same logic. Repeatitive code must be removed.
163
- async getValueAsync(checkError: boolean = true): Promise<ValueType[]>
164
- {
165
- if (this.props.nullable)
166
- if (this.NSBoxBaseLayout_Main.current?.isNull())
167
- return [];
48
+ this.isEmpty = this.isEmpty.bind(this);
49
+ this.getError = this.getError.bind(this);
50
+ this.getValue = this.getValue.bind(this);
51
+ this.setValue = this.setValue.bind(this);
52
+ }
53
+ private getCount(): number
54
+ {
55
+ return this.state.items.filter(x => x).length;
56
+ }
57
+ private canDelete(gIndex: number)
58
+ {
59
+ if (this.Item_Refs.length > 0)
60
+ {
61
+ let count = this.getCount();
62
+ if (count <= (this.props.min ?? 1))
63
+ return false;
64
+ if (count === this.props.max)
65
+ return true;
66
+ if (gIndex === this.state.items.length - 1)
67
+ return false;
68
+ return true
69
+ }
70
+ return false;
71
+ }
72
+ private getGIndex(index: number): number
73
+ {
74
+ if (this.state.items.length === 0)
75
+ return 0;
76
+ for (let i = 0; i < this.state.items.length; i++)
77
+ {
78
+ if (this.state.items[i])
79
+ {
80
+ if (index === 0)
81
+ return i;
82
+ index--;
83
+ }
84
+ }
85
+ return this.state.items.length - 1;
86
+ }
87
+ private getIndex(gindex: number): number
88
+ {
89
+ if (gindex >= this.state.items.length)
90
+ throw new Error("GIndex out of bound: " + gindex);
91
+ let ans = -1;
92
+ for (let i = 0; i <= gindex; i++)
93
+ if (this.state.items[i])
94
+ ans++;
95
+ return ans;
96
+ }
97
+ private addItem(state: boolean = true)
98
+ {
99
+ if (!this.props.max || this.getCount() < this.props.max)
100
+ {
101
+ this.Item_Refs.push(createRef<ItemType>());
102
+ if (state)
103
+ {
104
+ let items = this.state.items;
105
+ items.push(true);
106
+ this.setState({ items }, () =>
107
+ {
108
+ this.props.onItemChanged?.(this);
109
+ });
110
+ }
111
+ }
112
+ }
113
+ private delItem(lIndex: number)
114
+ {
115
+ let gindex = this.getGIndex(lIndex);
116
+ if (this.canDelete(gindex))
117
+ {
118
+ let items = this.state.items;
119
+ items[gindex] = false;
120
+ this.setState({ items }, () =>
121
+ {
122
+ this.props.onItemChanged?.(this);
123
+ this.onChange();
124
+ });
125
+ }
126
+ }
127
+ private onChange()
128
+ {
129
+ this.props.onValuesChanged?.(this);
130
+ if (!this.props.onExternalAddRef)
131
+ this.checkForNew();
132
+ }
133
+ private async checkForNew()
134
+ {
135
+ let length = this.state.items.filter(x => x).length;
136
+ if (length === 0)
137
+ this.addItem();
138
+ else
139
+ {
140
+ let last = this.Item_Refs.length - 1;
141
+ while (!this.state.items[last])
142
+ last--;
143
+ let item = this.Item_Refs[last].current;
144
+ if (item)
145
+ {
146
+ let value = await this.props.getValue(item, false)
147
+ if (!this.props.isEmpty(item, value))
148
+ {
149
+ this.addItem();
150
+ }
151
+ }
152
+ }
153
+ }
154
+ isEmpty(): boolean
155
+ {
156
+ return true;
157
+ }
158
+ getError(): string | null
159
+ {
160
+ return (
161
+ Validator.getErrorArray(this.props.title, this.last_value, this.props.required, this.props.min, this.props.max)
162
+ );
163
+ }
164
+ // todo getValueAsync and getValue are using same logic. Repeatitive code must be removed.
165
+ async getValueAsync(checkError: boolean = true): Promise<ValueType[]>
166
+ {
167
+ if (this.props.nullable)
168
+ if (this.NSBoxBaseLayout_Main.current?.isNull())
169
+ return [];
168
170
 
169
- this.last_value = [];
170
- for (let index = 0; index < this.state.items.length; index++)
171
- {
172
- const exists = this.state.items[index];
173
- if (exists)
174
- {
175
- let item = this.Item_Refs[index].current;
176
- if (item)
177
- {
178
- try
179
- {
180
- let empty_value = await this.props.getValue(item, false);
181
- if (!this.props.isEmpty(item, empty_value))
182
- {
183
- let value = await this.props.getValue(item, checkError);
184
- if (value != null)
185
- this.last_value.push(value);
186
- }
187
- } catch (error)
188
- {
189
- if (this.props.ignoreItemsHavingError !== true)
190
- throw error;
191
- }
192
- }
193
- }
194
- }
195
- return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.last_value) ?? [];
196
- }
197
- getValue(checkError: boolean = true): ValueType[]
198
- {
199
- if (this.props.nullable)
200
- if (this.NSBoxBaseLayout_Main.current?.isNull())
201
- return [];
171
+ this.last_value = [];
172
+ for (let index = 0; index < this.state.items.length; index++)
173
+ {
174
+ const exists = this.state.items[index];
175
+ if (exists)
176
+ {
177
+ let item = this.Item_Refs[index].current;
178
+ if (item)
179
+ {
180
+ try
181
+ {
182
+ let empty_value = await this.props.getValue(item, false);
183
+ if (!this.props.isEmpty(item, empty_value))
184
+ {
185
+ let value = await this.props.getValue(item, checkError);
186
+ if (value != null)
187
+ this.last_value.push(value);
188
+ }
189
+ } catch (error)
190
+ {
191
+ if (this.props.ignoreItemsHavingError !== true)
192
+ throw error;
193
+ }
194
+ }
195
+ }
196
+ }
197
+ return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.last_value) ?? [];
198
+ }
199
+ getValue(checkError: boolean = true): ValueType[]
200
+ {
201
+ if (this.props.nullable)
202
+ if (this.NSBoxBaseLayout_Main.current?.isNull())
203
+ return [];
202
204
 
203
- this.last_value = [];
204
- for (let index = 0; index < this.state.items.length; index++)
205
- {
206
- const exists = this.state.items[index];
207
- if (exists)
208
- {
209
- let item = this.Item_Refs[index].current;
210
- if (item)
211
- {
212
- try
213
- {
214
- let empty_value = this.props.getValue(item, false) as ValueType | null;
215
- if (!this.props.isEmpty(item, empty_value))
216
- {
217
- let value = this.props.getValue(item, checkError) as ValueType | null;
218
- if (value != null)
219
- this.last_value.push(value);
220
- }
221
- } catch (error)
222
- {
223
- if (this.props.ignoreItemsHavingError !== true)
224
- throw error;
225
- }
226
- }
227
- }
228
- }
229
- return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.last_value) ?? [];
230
- }
231
- setValue(value: ValueType[], callback?: () => void): void
232
- {
233
- if (this.props.nullable)
234
- this.NSBoxBaseLayout_Main.current?.setNull(false);
205
+ this.last_value = [];
206
+ for (let index = 0; index < this.state.items.length; index++)
207
+ {
208
+ const exists = this.state.items[index];
209
+ if (exists)
210
+ {
211
+ let item = this.Item_Refs[index].current;
212
+ if (item)
213
+ {
214
+ try
215
+ {
216
+ let empty_value = this.props.getValue(item, false) as ValueType | null;
217
+ if (!this.props.isEmpty(item, empty_value))
218
+ {
219
+ let value = this.props.getValue(item, checkError) as ValueType | null;
220
+ if (value != null)
221
+ this.last_value.push(value);
222
+ }
223
+ } catch (error)
224
+ {
225
+ if (this.props.ignoreItemsHavingError !== true)
226
+ throw error;
227
+ }
228
+ }
229
+ }
230
+ }
231
+ return NSBoxBaseLayout.checkGetValue(this, checkError, () => this.last_value) ?? [];
232
+ }
233
+ setValue(value: ValueType[], callback?: () => void): void
234
+ {
235
+ if (this.props.nullable)
236
+ this.NSBoxBaseLayout_Main.current?.setNull(false);
235
237
 
236
- this.Item_Refs = [];
237
- value.forEach(() =>
238
- {
239
- this.addItem(false);
240
- })
241
- let items = value.map(() => true);
242
- this.setState({ items }, () =>
243
- {
244
- this.props.onItemChanged?.(this);
245
- value.forEach((value, index) =>
246
- {
247
- let item = this.Item_Refs[index].current;
248
- if (item)
249
- this.props.setValue(item, index, value);
250
- });
251
- this.onChange();
252
- callback?.();
253
- });
254
- }
255
- setDisabled(disabled: boolean): void
256
- {
257
- this.NSBoxBaseLayout_Main.current?.setDisabled(disabled);
258
- }
259
- override componentDidMount()
260
- {
261
- let min = this.props.min ?? 1;
262
- for (let i = 0; i < min; i++)
263
- this.addItem();
264
- }
265
- override render()
266
- {
267
- let menu = safeMenuMenuItem(this.props, () => { });
238
+ this.Item_Refs = [];
239
+ value.forEach(() =>
240
+ {
241
+ this.addItem(false);
242
+ })
243
+ let items = value.map(() => true);
244
+ this.setState({ items }, () =>
245
+ {
246
+ this.props.onItemChanged?.(this);
247
+ value.forEach((value, index) =>
248
+ {
249
+ let item = this.Item_Refs[index].current;
250
+ if (item)
251
+ this.props.setValue(item, index, value);
252
+ });
253
+ this.onChange();
254
+ callback?.();
255
+ });
256
+ }
257
+ setDisabled(disabled: boolean): void
258
+ {
259
+ this.NSBoxBaseLayout_Main.current?.setDisabled(disabled);
260
+ }
261
+ override componentDidMount()
262
+ {
263
+ let min = this.props.min ?? 1;
264
+ for (let i = 0; i < min; i++)
265
+ this.addItem();
268
266
 
269
- let LIndex = -1;
267
+ this.props.onExternalAddRef?.(() => this.addItem());
268
+ }
269
+ override render()
270
+ {
271
+ let menu = safeMenuMenuItem(this.props, () => { });
270
272
 
271
- return (
272
- <NSBoxBaseLayout
273
- ref={this.NSBoxBaseLayout_Main}
274
- {...this.props}
275
- menu={menu}
273
+ let LIndex = -1;
276
274
 
277
- getValue={() =>
278
- {
279
- // TODO: Need to return correct value as a string
280
- return null;
281
- }}
282
- >
283
- {
284
- this.Item_Refs.map((ref, GIndex) =>
285
- {
286
- if (this.state.items[GIndex])
287
- LIndex++;
288
- let visible = this.state.items[GIndex];
289
- let props = { ...this.props };
290
- props.style = { ...props.style };
291
- if (!visible)
292
- props.style.display = "none";
275
+ return (
276
+ <NSBoxBaseLayout
277
+ ref={this.NSBoxBaseLayout_Main}
278
+ {...this.props}
279
+ menu={menu}
293
280
 
294
- let onDelete = undefined;
295
- if (this.canDelete(GIndex))
296
- onDelete = this.delItem;
281
+ getValue={() =>
282
+ {
283
+ // TODO: Need to return correct value as a string
284
+ return null;
285
+ }}
286
+ >
287
+ {
288
+ this.Item_Refs.map((ref, GIndex) =>
289
+ {
290
+ if (this.state.items[GIndex])
291
+ LIndex++;
292
+ let visible = this.state.items[GIndex];
293
+ let props = { ...this.props };
294
+ props.style = { ...props.style };
295
+ if (!visible)
296
+ props.style.display = "none";
297
297
 
298
- let item = this.props.createItem(GIndex, LIndex, ref, this.onChange, onDelete);
298
+ let onDelete = undefined;
299
+ if (this.canDelete(GIndex))
300
+ onDelete = this.delItem;
299
301
 
300
- if (visible && LIndex !== 0)
301
- return (
302
- <div key={GIndex} style={{ width: "100%", ...props.style }}>
303
- <NSSpace size={NSSpaceSizeType.MICRO} />
304
- <NSLine />
305
- <NSSpace size={NSSpaceSizeType.MICRO} />
306
- {item}
307
- </div>
308
- )
302
+ let item = this.props.createItem(GIndex, LIndex, ref, this.onChange, onDelete);
309
303
 
310
- return (
311
- <div key={GIndex} style={{ width: "100%", ...props.style }}>
312
- {item}
313
- </div>
314
- )
315
- })
316
- }
317
- </NSBoxBaseLayout>
318
- );
319
- }
304
+ if (visible && LIndex !== 0)
305
+ return (
306
+ <div key={GIndex} style={{ width: "100%", ...props.style }}>
307
+ <NSSpace size={NSSpaceSizeType.MINI} />
308
+ <NSLine />
309
+ <NSSpace size={NSSpaceSizeType.MICRO} />
310
+ {item}
311
+ </div>
312
+ )
313
+
314
+ return (
315
+ <div key={GIndex} style={{ width: "100%", ...props.style }}>
316
+ {item}
317
+ </div>
318
+ )
319
+ })
320
+ }
321
+ </NSBoxBaseLayout>
322
+ );
323
+ }
320
324
  }