uicore-ts 1.0.1

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 (128) hide show
  1. package/.idea/misc.xml +6 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/uicore.iml +9 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/LICENSE +21 -0
  6. package/README.md +5 -0
  7. package/compiledScripts/UIActionIndicator.d.ts +12 -0
  8. package/compiledScripts/UIActionIndicator.js +54 -0
  9. package/compiledScripts/UIActionIndicator.js.map +1 -0
  10. package/compiledScripts/UIBaseButton.d.ts +52 -0
  11. package/compiledScripts/UIBaseButton.js +268 -0
  12. package/compiledScripts/UIBaseButton.js.map +1 -0
  13. package/compiledScripts/UIButton.d.ts +54 -0
  14. package/compiledScripts/UIButton.js +247 -0
  15. package/compiledScripts/UIButton.js.map +1 -0
  16. package/compiledScripts/UIColor.d.ts +41 -0
  17. package/compiledScripts/UIColor.js +286 -0
  18. package/compiledScripts/UIColor.js.map +1 -0
  19. package/compiledScripts/UICore.d.ts +27 -0
  20. package/compiledScripts/UICore.js +105 -0
  21. package/compiledScripts/UICore.js.map +1 -0
  22. package/compiledScripts/UICoreExtensions.d.ts +60 -0
  23. package/compiledScripts/UICoreExtensions.js +527 -0
  24. package/compiledScripts/UICoreExtensions.js.map +1 -0
  25. package/compiledScripts/UIDateTimeInput.d.ts +40 -0
  26. package/compiledScripts/UIDateTimeInput.js +38 -0
  27. package/compiledScripts/UIDateTimeInput.js.map +1 -0
  28. package/compiledScripts/UIDialogView.d.ts +23 -0
  29. package/compiledScripts/UIDialogView.js +118 -0
  30. package/compiledScripts/UIDialogView.js.map +1 -0
  31. package/compiledScripts/UIImageView.d.ts +36 -0
  32. package/compiledScripts/UIImageView.js +170 -0
  33. package/compiledScripts/UIImageView.js.map +1 -0
  34. package/compiledScripts/UIKeyValueStringFilter.d.ts +21 -0
  35. package/compiledScripts/UIKeyValueStringFilter.js +98 -0
  36. package/compiledScripts/UIKeyValueStringFilter.js.map +1 -0
  37. package/compiledScripts/UIKeyValueStringSorter.d.ts +38 -0
  38. package/compiledScripts/UIKeyValueStringSorter.js +117 -0
  39. package/compiledScripts/UIKeyValueStringSorter.js.map +1 -0
  40. package/compiledScripts/UILayoutGrid.d.ts +8 -0
  41. package/compiledScripts/UILayoutGrid.js +22 -0
  42. package/compiledScripts/UILayoutGrid.js.map +1 -0
  43. package/compiledScripts/UILink.d.ts +25 -0
  44. package/compiledScripts/UILink.js +81 -0
  45. package/compiledScripts/UILink.js.map +1 -0
  46. package/compiledScripts/UILinkButton.d.ts +18 -0
  47. package/compiledScripts/UILinkButton.js +60 -0
  48. package/compiledScripts/UILinkButton.js.map +1 -0
  49. package/compiledScripts/UINativeScrollView.d.ts +20 -0
  50. package/compiledScripts/UINativeScrollView.js +121 -0
  51. package/compiledScripts/UINativeScrollView.js.map +1 -0
  52. package/compiledScripts/UIObject.d.ts +69 -0
  53. package/compiledScripts/UIObject.js +442 -0
  54. package/compiledScripts/UIObject.js.map +1 -0
  55. package/compiledScripts/UIPoint.d.ts +18 -0
  56. package/compiledScripts/UIPoint.js +68 -0
  57. package/compiledScripts/UIPoint.js.map +1 -0
  58. package/compiledScripts/UIRectangle.d.ts +61 -0
  59. package/compiledScripts/UIRectangle.js +421 -0
  60. package/compiledScripts/UIRectangle.js.map +1 -0
  61. package/compiledScripts/UIRoute.d.ts +39 -0
  62. package/compiledScripts/UIRoute.js +202 -0
  63. package/compiledScripts/UIRoute.js.map +1 -0
  64. package/compiledScripts/UIScrollView.d.ts +19 -0
  65. package/compiledScripts/UIScrollView.js +121 -0
  66. package/compiledScripts/UIScrollView.js.map +1 -0
  67. package/compiledScripts/UISlideScrollerView.d.ts +40 -0
  68. package/compiledScripts/UISlideScrollerView.js +242 -0
  69. package/compiledScripts/UISlideScrollerView.js.map +1 -0
  70. package/compiledScripts/UIStringFilter.d.ts +26 -0
  71. package/compiledScripts/UIStringFilter.js +107 -0
  72. package/compiledScripts/UIStringFilter.js.map +1 -0
  73. package/compiledScripts/UITableView.d.ts +61 -0
  74. package/compiledScripts/UITableView.js +383 -0
  75. package/compiledScripts/UITableView.js.map +1 -0
  76. package/compiledScripts/UITextArea.d.ts +7 -0
  77. package/compiledScripts/UITextArea.js +27 -0
  78. package/compiledScripts/UITextArea.js.map +1 -0
  79. package/compiledScripts/UITextField.d.ts +44 -0
  80. package/compiledScripts/UITextField.js +83 -0
  81. package/compiledScripts/UITextField.js.map +1 -0
  82. package/compiledScripts/UITextView.d.ts +89 -0
  83. package/compiledScripts/UITextView.js +237 -0
  84. package/compiledScripts/UITextView.js.map +1 -0
  85. package/compiledScripts/UITimer.d.ts +13 -0
  86. package/compiledScripts/UITimer.js +45 -0
  87. package/compiledScripts/UITimer.js.map +1 -0
  88. package/compiledScripts/UIView.d.ts +330 -0
  89. package/compiledScripts/UIView.js +1533 -0
  90. package/compiledScripts/UIView.js.map +1 -0
  91. package/compiledScripts/UIViewController.d.ts +38 -0
  92. package/compiledScripts/UIViewController.js +153 -0
  93. package/compiledScripts/UIViewController.js.map +1 -0
  94. package/compiledScripts/index.d.ts +29 -0
  95. package/compiledScripts/index.js +46 -0
  96. package/compiledScripts/index.js.map +1 -0
  97. package/package.json +36 -0
  98. package/scripts/UIActionIndicator.ts +139 -0
  99. package/scripts/UIBaseButton.ts +563 -0
  100. package/scripts/UIButton.ts +552 -0
  101. package/scripts/UIColor.ts +427 -0
  102. package/scripts/UICore.ts +223 -0
  103. package/scripts/UICoreExtensions.ts +949 -0
  104. package/scripts/UIDateTimeInput.ts +109 -0
  105. package/scripts/UIDialogView.ts +297 -0
  106. package/scripts/UIImageView.ts +366 -0
  107. package/scripts/UIKeyValueStringFilter.ts +260 -0
  108. package/scripts/UIKeyValueStringSorter.ts +337 -0
  109. package/scripts/UILayoutGrid.ts +83 -0
  110. package/scripts/UILink.ts +292 -0
  111. package/scripts/UILinkButton.ts +238 -0
  112. package/scripts/UINativeScrollView.ts +254 -0
  113. package/scripts/UIObject.ts +827 -0
  114. package/scripts/UIPoint.ts +123 -0
  115. package/scripts/UIRectangle.ts +730 -0
  116. package/scripts/UIRoute.ts +391 -0
  117. package/scripts/UIScrollView.ts +290 -0
  118. package/scripts/UISlideScrollerView.ts +530 -0
  119. package/scripts/UIStringFilter.ts +293 -0
  120. package/scripts/UITableView.ts +790 -0
  121. package/scripts/UITextArea.ts +91 -0
  122. package/scripts/UITextField.ts +218 -0
  123. package/scripts/UITextView.ts +561 -0
  124. package/scripts/UITimer.ts +107 -0
  125. package/scripts/UIView.ts +2789 -0
  126. package/scripts/UIViewController.ts +304 -0
  127. package/scripts/index.ts +36 -0
  128. package/tsconfig.json +59 -0
@@ -0,0 +1,421 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UIRectangle = void 0;
4
+ const UIObject_1 = require("./UIObject");
5
+ const UIPoint_1 = require("./UIPoint");
6
+ class UIRectangle extends UIObject_1.UIObject {
7
+ constructor(x = 0, y = 0, height = 0, width = 0) {
8
+ super();
9
+ this._class = UIRectangle;
10
+ this.superclass = UIObject_1.UIObject;
11
+ this.min = new UIPoint_1.UIPoint(Number.POSITIVE_INFINITY, Number.POSITIVE_INFINITY);
12
+ this.max = new UIPoint_1.UIPoint(Number.NEGATIVE_INFINITY, Number.NEGATIVE_INFINITY);
13
+ this.min.didChange = this.rectanglePointDidChange;
14
+ this.max.didChange = this.rectanglePointDidChange;
15
+ this._isBeingUpdated = UIObject_1.NO;
16
+ this.min = new UIPoint_1.UIPoint(x, y);
17
+ this.max = new UIPoint_1.UIPoint(x + width, y + height);
18
+ if ((0, UIObject_1.IS_NIL)(height)) {
19
+ this.max.y = height;
20
+ }
21
+ if ((0, UIObject_1.IS_NIL)(width)) {
22
+ this.max.x = width;
23
+ }
24
+ }
25
+ copy() {
26
+ const result = new UIRectangle(this.x, this.y, this.height, this.width);
27
+ return result;
28
+ }
29
+ isEqualTo(rectangle) {
30
+ const result = ((0, UIObject_1.IS)(rectangle) && this.min.isEqualTo(rectangle.min) && this.max.isEqualTo(rectangle.max));
31
+ return result;
32
+ }
33
+ static zero() {
34
+ const result = new UIRectangle(0, 0, 0, 0);
35
+ return result;
36
+ }
37
+ containsPoint(point) {
38
+ return this.min.x <= point.x && this.min.y <= point.y &&
39
+ point.x <= this.max.x && point.y <= this.max.y;
40
+ }
41
+ updateByAddingPoint(point) {
42
+ if (!point) {
43
+ point = new UIPoint_1.UIPoint(0, 0);
44
+ }
45
+ this.beginUpdates();
46
+ const min = this.min.copy();
47
+ if (min.x === UIObject_1.nil) {
48
+ min.x = this.max.x;
49
+ }
50
+ if (min.y === UIObject_1.nil) {
51
+ min.y = this.max.y;
52
+ }
53
+ const max = this.max.copy();
54
+ if (max.x === UIObject_1.nil) {
55
+ max.x = this.min.x;
56
+ }
57
+ if (max.y === UIObject_1.nil) {
58
+ max.y = this.min.y;
59
+ }
60
+ this.min.x = Math.min(min.x, point.x);
61
+ this.min.y = Math.min(min.y, point.y);
62
+ this.max.x = Math.max(max.x, point.x);
63
+ this.max.y = Math.max(max.y, point.y);
64
+ this.finishUpdates();
65
+ }
66
+ get height() {
67
+ if (this.max.y === UIObject_1.nil) {
68
+ return UIObject_1.nil;
69
+ }
70
+ return this.max.y - this.min.y;
71
+ }
72
+ set height(height) {
73
+ this.max.y = this.min.y + height;
74
+ }
75
+ get width() {
76
+ if (this.max.x === UIObject_1.nil) {
77
+ return UIObject_1.nil;
78
+ }
79
+ return this.max.x - this.min.x;
80
+ }
81
+ set width(width) {
82
+ this.max.x = this.min.x + width;
83
+ }
84
+ get x() {
85
+ return this.min.x;
86
+ }
87
+ set x(x) {
88
+ this.beginUpdates();
89
+ const width = this.width;
90
+ this.min.x = x;
91
+ this.max.x = this.min.x + width;
92
+ this.finishUpdates();
93
+ }
94
+ get y() {
95
+ return this.min.y;
96
+ }
97
+ set y(y) {
98
+ this.beginUpdates();
99
+ const height = this.height;
100
+ this.min.y = y;
101
+ this.max.y = this.min.y + height;
102
+ this.finishUpdates();
103
+ }
104
+ get topLeft() {
105
+ return this.min.copy();
106
+ }
107
+ get topRight() {
108
+ return new UIPoint_1.UIPoint(this.max.x, this.y);
109
+ }
110
+ get bottomLeft() {
111
+ return new UIPoint_1.UIPoint(this.x, this.max.y);
112
+ }
113
+ get bottomRight() {
114
+ return this.max.copy();
115
+ }
116
+ get center() {
117
+ const result = this.min.copy().add(this.min.to(this.max).scale(0.5));
118
+ return result;
119
+ }
120
+ set center(center) {
121
+ const offset = this.center.to(center);
122
+ this.offsetByPoint(offset);
123
+ }
124
+ offsetByPoint(offset) {
125
+ this.min.add(offset);
126
+ this.max.add(offset);
127
+ return this;
128
+ }
129
+ concatenateWithRectangle(rectangle) {
130
+ this.updateByAddingPoint(rectangle.bottomRight);
131
+ this.updateByAddingPoint(rectangle.topLeft);
132
+ return this;
133
+ }
134
+ intersectionRectangleWithRectangle(rectangle) {
135
+ const result = this.copy();
136
+ result.beginUpdates();
137
+ const min = result.min;
138
+ if (min.x === UIObject_1.nil) {
139
+ min.x = rectangle.max.x - Math.min(result.width, rectangle.width);
140
+ }
141
+ if (min.y === UIObject_1.nil) {
142
+ min.y = rectangle.max.y - Math.min(result.height, rectangle.height);
143
+ }
144
+ const max = result.max;
145
+ if (max.x === UIObject_1.nil) {
146
+ max.x = rectangle.min.x + Math.min(result.width, rectangle.width);
147
+ }
148
+ if (max.y === UIObject_1.nil) {
149
+ max.y = rectangle.min.y + Math.min(result.height, rectangle.height);
150
+ }
151
+ result.min.x = Math.max(result.min.x, rectangle.min.x);
152
+ result.min.y = Math.max(result.min.y, rectangle.min.y);
153
+ result.max.x = Math.min(result.max.x, rectangle.max.x);
154
+ result.max.y = Math.min(result.max.y, rectangle.max.y);
155
+ if (result.height < 0) {
156
+ const averageY = (this.center.y + rectangle.center.y) * 0.5;
157
+ result.min.y = averageY;
158
+ result.max.y = averageY;
159
+ }
160
+ if (result.width < 0) {
161
+ const averageX = (this.center.x + rectangle.center.x) * 0.5;
162
+ result.min.x = averageX;
163
+ result.max.x = averageX;
164
+ }
165
+ result.finishUpdates();
166
+ return result;
167
+ }
168
+ get area() {
169
+ const result = this.height * this.width;
170
+ return result;
171
+ }
172
+ intersectsWithRectangle(rectangle) {
173
+ return (this.intersectionRectangleWithRectangle(rectangle).area != 0);
174
+ }
175
+ // add some space around the rectangle
176
+ rectangleWithInsets(left, right, bottom, top) {
177
+ const result = this.copy();
178
+ result.min.x = this.min.x + left;
179
+ result.max.x = this.max.x - right;
180
+ result.min.y = this.min.y + top;
181
+ result.max.y = this.max.y - bottom;
182
+ return result;
183
+ }
184
+ rectangleWithInset(inset) {
185
+ const result = this.rectangleWithInsets(inset, inset, inset, inset);
186
+ return result;
187
+ }
188
+ rectangleWithHeight(height, centeredOnPosition = UIObject_1.nil) {
189
+ if (isNaN(centeredOnPosition)) {
190
+ centeredOnPosition = UIObject_1.nil;
191
+ }
192
+ const result = this.copy();
193
+ result.height = height;
194
+ if (centeredOnPosition != UIObject_1.nil) {
195
+ const change = height - this.height;
196
+ result.offsetByPoint(new UIPoint_1.UIPoint(0, change * centeredOnPosition).scale(-1));
197
+ }
198
+ return result;
199
+ }
200
+ rectangleWithWidth(width, centeredOnPosition = UIObject_1.nil) {
201
+ if (isNaN(centeredOnPosition)) {
202
+ centeredOnPosition = UIObject_1.nil;
203
+ }
204
+ const result = this.copy();
205
+ result.width = width;
206
+ if (centeredOnPosition != UIObject_1.nil) {
207
+ const change = width - this.width;
208
+ result.offsetByPoint(new UIPoint_1.UIPoint(change * centeredOnPosition, 0).scale(-1));
209
+ }
210
+ return result;
211
+ }
212
+ rectangleWithHeightRelativeToWidth(heightRatio = 1, centeredOnPosition = UIObject_1.nil) {
213
+ const result = this.rectangleWithHeight(this.width * heightRatio, centeredOnPosition);
214
+ return result;
215
+ }
216
+ rectangleWithWidthRelativeToHeight(widthRatio = 1, centeredOnPosition = UIObject_1.nil) {
217
+ const result = this.rectangleWithWidth(this.height * widthRatio, centeredOnPosition);
218
+ return result;
219
+ }
220
+ rectangleWithX(x, centeredOnPosition = 0) {
221
+ const result = this.copy();
222
+ result.x = x - result.width * centeredOnPosition;
223
+ return result;
224
+ }
225
+ rectangleWithY(y, centeredOnPosition = 0) {
226
+ const result = this.copy();
227
+ result.y = y - result.height * centeredOnPosition;
228
+ return result;
229
+ }
230
+ rectangleByAddingX(x) {
231
+ const result = this.copy();
232
+ result.x = this.x + x;
233
+ return result;
234
+ }
235
+ rectangleByAddingY(y) {
236
+ const result = this.copy();
237
+ result.y = this.y + y;
238
+ return result;
239
+ }
240
+ rectanglesBySplittingWidth(weights, paddings = 0, absoluteWidths = UIObject_1.nil) {
241
+ if ((0, UIObject_1.IS_NIL)(paddings)) {
242
+ paddings = 1;
243
+ }
244
+ if (!(paddings instanceof Array)) {
245
+ paddings = [paddings].arrayByRepeating(weights.length - 1);
246
+ }
247
+ paddings = paddings.arrayByTrimmingToLengthIfLonger(weights.length - 1);
248
+ if (!(absoluteWidths instanceof Array) && (0, UIObject_1.IS_NOT_NIL)(absoluteWidths)) {
249
+ absoluteWidths = [absoluteWidths].arrayByRepeating(weights.length);
250
+ }
251
+ const result = [];
252
+ const sumOfWeights = weights.reduce(function (a, b, index) {
253
+ if ((0, UIObject_1.IS_NOT_NIL)(absoluteWidths[index])) {
254
+ b = 0;
255
+ }
256
+ return a + b;
257
+ }, 0);
258
+ const sumOfPaddings = paddings.summedValue;
259
+ const sumOfAbsoluteWidths = absoluteWidths.summedValue;
260
+ const totalRelativeWidth = this.width - sumOfPaddings - sumOfAbsoluteWidths;
261
+ var previousCellMaxX = this.x;
262
+ for (var i = 0; i < weights.length; i++) {
263
+ var resultWidth;
264
+ if ((0, UIObject_1.IS_NOT_NIL)(absoluteWidths[i])) {
265
+ resultWidth = absoluteWidths[i] || 0;
266
+ }
267
+ else {
268
+ resultWidth = totalRelativeWidth * (weights[i] / sumOfWeights);
269
+ }
270
+ const rectangle = this.rectangleWithWidth(resultWidth);
271
+ var padding = 0;
272
+ if (paddings.length > i && paddings[i]) {
273
+ padding = paddings[i];
274
+ }
275
+ rectangle.x = previousCellMaxX;
276
+ previousCellMaxX = rectangle.max.x + padding;
277
+ //rectangle = rectangle.rectangleWithInsets(0, padding, 0, 0);
278
+ result.push(rectangle);
279
+ }
280
+ return result;
281
+ }
282
+ rectanglesBySplittingHeight(weights, paddings = 0, absoluteHeights = UIObject_1.nil) {
283
+ if ((0, UIObject_1.IS_NIL)(paddings)) {
284
+ paddings = 1;
285
+ }
286
+ if (!(paddings instanceof Array)) {
287
+ paddings = [paddings].arrayByRepeating(weights.length - 1);
288
+ }
289
+ paddings = paddings.arrayByTrimmingToLengthIfLonger(weights.length - 1);
290
+ if (!(absoluteHeights instanceof Array) && (0, UIObject_1.IS_NOT_NIL)(absoluteHeights)) {
291
+ absoluteHeights = [absoluteHeights].arrayByRepeating(weights.length);
292
+ }
293
+ const result = [];
294
+ const sumOfWeights = weights.reduce(function (a, b, index) {
295
+ if ((0, UIObject_1.IS_NOT_NIL)(absoluteHeights[index])) {
296
+ b = 0;
297
+ }
298
+ return a + b;
299
+ }, 0);
300
+ const sumOfPaddings = paddings.summedValue;
301
+ const sumOfAbsoluteHeights = absoluteHeights.summedValue;
302
+ const totalRelativeHeight = this.height - sumOfPaddings - sumOfAbsoluteHeights;
303
+ var previousCellMaxY = this.y;
304
+ for (var i = 0; i < weights.length; i++) {
305
+ var resultHeight;
306
+ if ((0, UIObject_1.IS_NOT_NIL)(absoluteHeights[i])) {
307
+ resultHeight = absoluteHeights[i] || 0;
308
+ }
309
+ else {
310
+ resultHeight = totalRelativeHeight * (weights[i] / sumOfWeights);
311
+ }
312
+ const rectangle = this.rectangleWithHeight(resultHeight);
313
+ var padding = 0;
314
+ if (paddings.length > i && paddings[i]) {
315
+ padding = paddings[i];
316
+ }
317
+ rectangle.y = previousCellMaxY;
318
+ previousCellMaxY = rectangle.max.y + padding;
319
+ //rectangle = rectangle.rectangleWithInsets(0, 0, padding, 0);
320
+ result.push(rectangle);
321
+ }
322
+ return result;
323
+ }
324
+ rectanglesByEquallySplittingWidth(numberOfFrames, padding = 0) {
325
+ const result = [];
326
+ const totalPadding = padding * (numberOfFrames - 1);
327
+ const resultWidth = (this.width - totalPadding) / numberOfFrames;
328
+ for (var i = 0; i < numberOfFrames; i++) {
329
+ const rectangle = this.rectangleWithWidth(resultWidth, i / (numberOfFrames - 1));
330
+ result.push(rectangle);
331
+ }
332
+ return result;
333
+ }
334
+ rectanglesByEquallySplittingHeight(numberOfFrames, padding = 0) {
335
+ const result = [];
336
+ const totalPadding = padding * (numberOfFrames - 1);
337
+ const resultHeight = (this.height - totalPadding) / numberOfFrames;
338
+ for (var i = 0; i < numberOfFrames; i++) {
339
+ const rectangle = this.rectangleWithHeight(resultHeight, i / (numberOfFrames - 1));
340
+ result.push(rectangle);
341
+ }
342
+ return result;
343
+ }
344
+ distributeViewsAlongWidth(views, weights = 1, paddings, absoluteWidths) {
345
+ if (!(weights instanceof Array)) {
346
+ weights = [weights].arrayByRepeating(views.length);
347
+ }
348
+ const frames = this.rectanglesBySplittingWidth(weights, paddings, absoluteWidths);
349
+ frames.forEach((frame, index, array) => (0, UIObject_1.FIRST_OR_NIL)(views[index]).frame = frame);
350
+ return this;
351
+ }
352
+ distributeViewsAlongHeight(views, weights = 1, paddings, absoluteHeights) {
353
+ if (!(weights instanceof Array)) {
354
+ weights = [weights].arrayByRepeating(views.length);
355
+ }
356
+ const frames = this.rectanglesBySplittingHeight(weights, paddings, absoluteHeights);
357
+ frames.forEach((frame, index, array) => (0, UIObject_1.FIRST_OR_NIL)(views[index]).frame = frame);
358
+ return this;
359
+ }
360
+ distributeViewsEquallyAlongWidth(views, padding) {
361
+ const frames = this.rectanglesByEquallySplittingWidth(views.length, padding);
362
+ frames.forEach(function (frame, index, array) {
363
+ views[index].frame = frame;
364
+ });
365
+ return this;
366
+ }
367
+ distributeViewsEquallyAlongHeight(views, padding) {
368
+ const frames = this.rectanglesByEquallySplittingHeight(views.length, padding);
369
+ frames.forEach(function (frame, index, array) {
370
+ views[index].frame = frame;
371
+ });
372
+ return this;
373
+ }
374
+ rectangleForNextRow(padding = 0, height = this.height) {
375
+ const result = this.rectangleWithY(this.max.y + padding);
376
+ if (height != this.height) {
377
+ result.height = height;
378
+ }
379
+ return result;
380
+ }
381
+ rectangleForNextColumn(padding = 0, width = this.width) {
382
+ const result = this.rectangleWithX(this.max.x + padding);
383
+ if (width != this.width) {
384
+ result.width = width;
385
+ }
386
+ return result;
387
+ }
388
+ rectangleForPreviousRow(padding = 0) {
389
+ const result = this.rectangleWithY(this.min.y - this.height - padding);
390
+ return result;
391
+ }
392
+ rectangleForPreviousColumn(padding = 0) {
393
+ const result = this.rectangleWithX(this.min.x - this.width - padding);
394
+ return result;
395
+ }
396
+ // Bounding box
397
+ static boundingBoxForPoints(points) {
398
+ const result = new UIRectangle();
399
+ for (var i = 0; i < points.length; i++) {
400
+ result.updateByAddingPoint(points[i]);
401
+ }
402
+ return result;
403
+ }
404
+ beginUpdates() {
405
+ this._isBeingUpdated = UIObject_1.YES;
406
+ }
407
+ finishUpdates() {
408
+ this._isBeingUpdated = UIObject_1.NO;
409
+ this.didChange();
410
+ }
411
+ didChange() {
412
+ // Callback to be set by delegate
413
+ }
414
+ _rectanglePointDidChange() {
415
+ if (!this._isBeingUpdated) {
416
+ this.didChange();
417
+ }
418
+ }
419
+ }
420
+ exports.UIRectangle = UIRectangle;
421
+ //# sourceMappingURL=UIRectangle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UIRectangle.js","sourceRoot":"","sources":["../scripts/UIRectangle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { UIViewController } from "./UIViewController";
2
+ export declare type ValueOf<T> = T[keyof T];
3
+ export declare type PropType<TObj, TProp extends keyof TObj> = TObj[TProp];
4
+ export declare type UIRouteParameters<T = any> = {
5
+ [key: string]: string;
6
+ } | T;
7
+ export interface UIRouteComponent<T = any> {
8
+ name: string;
9
+ parameters: UIRouteParameters<T>;
10
+ }
11
+ export declare class UIRoute extends Array<UIRouteComponent> {
12
+ _isHandled: boolean;
13
+ completedComponents: UIRouteComponent[];
14
+ parentRoute: UIRoute;
15
+ constructor(hash?: string);
16
+ static get currentRoute(): UIRoute;
17
+ apply(): void;
18
+ applyByReplacingCurrentRouteInHistory(): void;
19
+ copy(): UIRoute;
20
+ childRoute(): UIRoute;
21
+ routeByRemovingComponentsOtherThanOnesNamed(componentNames: string[]): UIRoute;
22
+ routeByRemovingComponentNamed(componentName: string): UIRoute;
23
+ routeByRemovingParameterInComponent(componentName: string, parameterName: string, removeComponentIfEmpty?: boolean): UIRoute;
24
+ routeBySettingParameterInComponent(componentName: string, parameterName: string, valueToSet: string): UIRoute;
25
+ routeWithViewControllerComponent<T extends typeof UIViewController>(viewController: T, parameters: UIRouteParameters<{
26
+ [P in keyof T["ParameterIdentifierName"]]: string;
27
+ }>, extendParameters?: boolean): UIRoute;
28
+ routeWithComponent(name: string, parameters: UIRouteParameters, extendParameters?: boolean): UIRoute;
29
+ navigateBySettingComponent(name: string, parameters: UIRouteParameters, extendParameters?: boolean): void;
30
+ componentWithViewController<T extends typeof UIViewController>(viewController: T): UIRouteComponent<{
31
+ [P in keyof T["ParameterIdentifierName"]]: string;
32
+ }>;
33
+ componentWithName(name: string): UIRouteComponent;
34
+ didcompleteComponent(component: UIRouteComponent): void;
35
+ set isHandled(isHandled: boolean);
36
+ get isHandled(): boolean;
37
+ get linkRepresentation(): string;
38
+ get stringRepresentation(): string;
39
+ }