intelicoreact 0.0.49 → 0.0.61

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 (60) hide show
  1. package/dist/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  2. package/dist/Atomic/FormElements/Dropdown/Dropdown.js +5 -7
  3. package/dist/Atomic/FormElements/Input/Input.js +10 -11
  4. package/dist/Atomic/FormElements/Input/Input.stories.js +5 -1
  5. package/dist/Atomic/FormElements/{Calendar/Calendar.stories.js → InputCalendar/InputCalendar.js} +40 -26
  6. package/dist/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +46 -0
  7. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.js +249 -0
  8. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.scss +568 -0
  9. package/dist/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +87 -0
  10. package/dist/Atomic/FormElements/InputDateRange/components/Datepicker.js +486 -0
  11. package/dist/Atomic/FormElements/InputDateRange/components/OpenedPart.js +154 -0
  12. package/dist/Atomic/FormElements/InputDateRange/components/SelectItem.js +38 -0
  13. package/dist/Atomic/FormElements/InputDateRange/dependencies.js +241 -0
  14. package/dist/Atomic/FormElements/Modal/Modal.stories.js +64 -18
  15. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.js +162 -0
  16. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  17. package/dist/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +81 -0
  18. package/dist/Atomic/UI/Arrow/Arrow.js +80 -0
  19. package/dist/Atomic/UI/Arrow/Arrow.scss +19 -0
  20. package/dist/Atomic/UI/Arrow/Arrow.stories.js +46 -0
  21. package/dist/Atomic/UI/Button/Button.js +4 -2
  22. package/dist/Atomic/UI/Button/Button.scss +26 -0
  23. package/dist/Atomic/UI/Button/Button.stories.js +2 -2
  24. package/dist/Atomic/{FormElements → UI}/Calendar/Calendar.js +20 -9
  25. package/dist/Atomic/UI/Calendar/Calendar.scss +544 -0
  26. package/dist/Atomic/UI/Calendar/Calendar.stories.js +37 -0
  27. package/dist/Atomic/UI/Price/Price.js +1 -0
  28. package/dist/Functions/utils.js +10 -2
  29. package/package.json +7 -5
  30. package/src/Atomic/FormElements/DateTime/DateTime.stories.js +1 -1
  31. package/src/Atomic/FormElements/Dropdown/Dropdown.js +2 -3
  32. package/src/Atomic/FormElements/Input/Input.js +10 -9
  33. package/src/Atomic/FormElements/Input/Input.stories.js +3 -1
  34. package/src/Atomic/FormElements/InputCalendar/InputCalendar.js +43 -0
  35. package/src/Atomic/FormElements/InputCalendar/InputCalendar.stories.js +27 -0
  36. package/src/Atomic/FormElements/InputDateRange/InputDateRange.js +234 -0
  37. package/src/Atomic/FormElements/InputDateRange/InputDateRange.scss +568 -0
  38. package/src/Atomic/FormElements/InputDateRange/InputDateRange.stories.js +58 -0
  39. package/src/Atomic/FormElements/InputDateRange/components/Datepicker.js +406 -0
  40. package/src/Atomic/FormElements/InputDateRange/components/OpenedPart.js +112 -0
  41. package/src/Atomic/FormElements/InputDateRange/components/SelectItem.js +22 -0
  42. package/src/Atomic/FormElements/InputDateRange/dependencies.js +153 -0
  43. package/src/Atomic/FormElements/Modal/Modal.stories.js +60 -15
  44. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.js +143 -0
  45. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.scss +101 -0
  46. package/src/Atomic/FormElements/RangeCalendar/RangeCalendar.stories.js +54 -0
  47. package/src/Atomic/UI/Arrow/Arrow.js +41 -0
  48. package/src/Atomic/UI/Arrow/Arrow.scss +19 -0
  49. package/src/Atomic/UI/Arrow/Arrow.stories.js +32 -0
  50. package/src/Atomic/UI/Button/Button.js +3 -3
  51. package/src/Atomic/UI/Button/Button.scss +26 -0
  52. package/src/Atomic/UI/Button/Button.stories.js +4 -3
  53. package/src/Atomic/{FormElements → UI}/Calendar/Calendar.js +13 -10
  54. package/src/Atomic/UI/Calendar/Calendar.scss +544 -0
  55. package/src/Atomic/UI/Calendar/Calendar.stories.js +23 -0
  56. package/src/Atomic/UI/Price/Price.js +1 -0
  57. package/src/Functions/utils.js +6 -0
  58. package/dist/Atomic/FormElements/Calendar/Calendar.scss +0 -543
  59. package/src/Atomic/FormElements/Calendar/Calendar.scss +0 -543
  60. package/src/Atomic/FormElements/Calendar/Calendar.stories.js +0 -38
@@ -0,0 +1,568 @@
1
+ :root {
2
+ --input-height: 26px;
3
+ --label-line-height: 16px;
4
+ // --border-color: rgba(0, 0, 0, 0.3);
5
+ --border-color: #e2e5ec;
6
+ --calendar-range-point-color: #6b81dd;
7
+ --font-size: 12px;
8
+ --line-height: 20px;
9
+ }
10
+
11
+ .date-range-input {
12
+ position: relative;
13
+ width: 430px;
14
+ height: calc(var(--input-height) + var(--label-line-height));
15
+
16
+ display: flex;
17
+ flex-flow: column nowrap;
18
+ justify-content: flex-end;
19
+ align-items: flex-start;
20
+
21
+ input::-webkit-outer-spin-button,
22
+ input::-webkit-inner-spin-button {
23
+ -webkit-appearance: none;
24
+ }
25
+
26
+ &__label {
27
+ margin-bottom: 2px;
28
+ font-size: var(--font-size);
29
+ line-height: var(--label-line-height);
30
+ }
31
+
32
+ &__wraper {
33
+ position: relative;
34
+ box-sizing: border-box;
35
+ width: 100%;
36
+ height: 100%;
37
+ }
38
+
39
+ &__absolut-wraper {
40
+ width: 100%;
41
+ height: fit-content;
42
+
43
+ position: absolute;
44
+ top: 0;
45
+ left: 0;
46
+ display: flex;
47
+ flex-flow: column nowrap;
48
+ justify-content: flex-start;
49
+ align-items: flex-start;
50
+
51
+ background: transparent;
52
+ z-index: 1;
53
+
54
+
55
+ &_right-position {
56
+ left: auto;
57
+ right: 0;
58
+ }
59
+
60
+ }
61
+
62
+ &__static-part{
63
+ box-sizing: border-box;
64
+ width: 100%;
65
+ height: var(--input-height);
66
+ border-radius: 4px;
67
+
68
+ display: flex;
69
+ flex-flow: row nowrap;
70
+ justify-content: flex-end;
71
+ align-items: flex-start;
72
+
73
+ background: #FFFFFF;
74
+ border: 1px solid var(--border-color);
75
+ }
76
+
77
+ &_focused {
78
+ .date-range-input__static-part {
79
+ border: 1px solid blue;
80
+ filter: drop-shadow(0px 0px 4px rgba(93, 120, 255, 0.5));
81
+ }
82
+ }
83
+
84
+ &__toggle-button {
85
+ width: 100%;
86
+ height: 100%;
87
+ padding: 0 10px;
88
+
89
+ display: flex;
90
+ flex-direction: row;
91
+ flex-flow: row nowrap;
92
+ justify-content: flex-start;
93
+ align-items: center;
94
+
95
+ cursor: pointer;
96
+ }
97
+
98
+ &__interval-key {
99
+ display: inline-block;
100
+ margin-right: 10px;
101
+ text-transform: capitalize;
102
+ white-space: nowrap;
103
+ text-align: left;
104
+ pointer-events: none;
105
+ }
106
+
107
+ &__range{
108
+ display: inline-block;
109
+ pointer-events: none;
110
+ word-wrap: break-word;
111
+
112
+ display: flex;
113
+ flex-flow: row wrap;
114
+ justify-content: flex-start;
115
+ align-items: center;
116
+
117
+ &-text {
118
+ display: inline-block;
119
+
120
+ &:first-of-type {
121
+ margin-right: 5px;
122
+ }
123
+
124
+ &_little {
125
+ font-size: calc(var(--font-size) - 2px);
126
+ }
127
+ }
128
+ }
129
+
130
+ &__arrows-block{
131
+ box-sizing: border-box;
132
+ width: fit-content;
133
+ height: 100%;
134
+ display: flex;
135
+ flex-flow: row nowrap;
136
+ justify-content: flex-start;
137
+ align-items: center;
138
+ }
139
+
140
+ &__arrow {
141
+ box-sizing: border-box;
142
+ width: auto;
143
+ height: 100%;
144
+ cursor: pointer;
145
+
146
+ &:active {
147
+ }
148
+ }
149
+
150
+ &__compact {
151
+ .date-range-input__toggle-button {
152
+ padding-right: 18px;
153
+ }
154
+ }
155
+
156
+ &_hide-arrows {
157
+ .date-range-input__toggle-button {
158
+ padding: 9px 18px 9px 18px;
159
+ }
160
+ }
161
+
162
+ &_error {
163
+ .date-range-input__wraper {
164
+ border-color: #FA564C;
165
+ }
166
+ }
167
+
168
+ &_disabled {
169
+ .date-range-input__wraper {
170
+ opacity: 0.7;
171
+ pointer-events: none;
172
+ }
173
+
174
+ .date-range-input__toggle-button {
175
+ cursor: auto;
176
+ }
177
+ }
178
+
179
+ &__error-block {
180
+ position: absolute;
181
+ left: 8px;
182
+ bottom: -20px;
183
+ font-size: var(--font-size);
184
+ line-height: var(--line-height);
185
+ color: #FA564C;
186
+ }
187
+
188
+ &__opened-part {
189
+ width: fit-content;
190
+ height: fit-content;
191
+ padding-top: 6px;
192
+ background-color: transparent;
193
+ }
194
+ }
195
+
196
+ .opened-part {
197
+ &__wrapper {
198
+ display: flex;
199
+ flex-flow: row nowrap;
200
+ justify-content: flex-start;
201
+ align-items: stretch;
202
+ border: 1px solid var(--border-color);
203
+ border-radius: 4px;
204
+ background: #FFFFFF;
205
+
206
+ &_right-position-once-element {
207
+ justify-content: flex-end;
208
+ }
209
+ }
210
+
211
+ &__intervals-list {
212
+ width: fit-content;
213
+ padding: 6px 0;
214
+ border-right: 1px solid var(--border-color);
215
+ }
216
+
217
+ &__intervals-item {
218
+ box-sizing: border-box;
219
+ position: relative;
220
+
221
+ width: 100%;
222
+ padding: 4px 8px 4px 32px;
223
+
224
+ text-transform: capitalize;
225
+ white-space: nowrap;
226
+ font-size: var(--font-size);
227
+ line-height: var(--line-height);
228
+ cursor: pointer;
229
+
230
+ display: flex;
231
+ flex-flow: row nowrap;
232
+ justify-content: flex-start;
233
+ align-items: center;
234
+
235
+ &:hover {
236
+ background-color: rgba(128, 128, 128, 0.1);
237
+ }
238
+
239
+ &-icon-active {
240
+ position: absolute;
241
+ left: 10px;
242
+ top: 5px;
243
+ }
244
+
245
+ &_disabled {
246
+ pointer-events: none;
247
+ color: rgba($color: #000000, $alpha: 0.3);
248
+ }
249
+ }
250
+
251
+ &__date-picker {
252
+ width: fit-content;
253
+ border: none;
254
+ }
255
+ }
256
+
257
+ .date-picker {
258
+ display: flex;
259
+ flex-flow: column nowrap;
260
+ justify-content: space-between;
261
+ align-items: flex-start;
262
+
263
+ &__header {
264
+ box-sizing: border-box;
265
+ width: 100%;
266
+ height: fit-content;
267
+ padding: 5px;
268
+ border: none;
269
+
270
+ display: flex;
271
+ flex-flow: column nowrap;
272
+ justify-content: flex-start;
273
+ align-items: flex-start;
274
+ }
275
+
276
+ &__inputs-block {
277
+ width: 100%;
278
+ height: fit-content;
279
+ display: flex;
280
+ flex-flow: row nowrap;
281
+ justify-content: flex-start;
282
+ align-items: center;
283
+ font-size: var(--font-size);
284
+ line-height: var(--line-height);
285
+
286
+ &>div:not(.date-picker__inputs-separator) {
287
+ height: 100%;
288
+ margin-right: 9px;
289
+
290
+ border: 1px solid var(--border-color);
291
+ box-sizing: border-box;
292
+
293
+ &:last-child {
294
+ margin-right: 0;
295
+ }
296
+
297
+ &.input__wrap {
298
+ box-sizing: border-box;
299
+ box-shadow: none;
300
+ border-radius: 4px;
301
+
302
+ &_focus {
303
+ border: 1px solid blue;
304
+ box-shadow: none;
305
+ }
306
+ }
307
+ }
308
+
309
+ .date-picker__inputs-separator {
310
+ margin-right: 9px;
311
+ }
312
+ }
313
+
314
+ &__date-input {
315
+ box-sizing: border-box;
316
+ width: fit-content;
317
+ height: fit-content;
318
+ padding: 3px 10px;
319
+
320
+ font-family: inherit;
321
+ font-style: inherit;
322
+ font-weight: inherit;
323
+ font-size: inherit;
324
+ line-height: inherit;
325
+ letter-spacing: inherit;
326
+ color: inherit;
327
+ }
328
+
329
+ &__hour-select-input {
330
+ width: 70px;
331
+ height: fit-content;
332
+ border-radius: 4px;
333
+
334
+ &>.dropdown__trigger {
335
+ width: 100%;
336
+ height: 100%;
337
+ padding-left: 10px;
338
+ padding-right: 15px;
339
+
340
+ font-family: inherit;
341
+ font-style: inherit;
342
+ font-weight: inherit;
343
+ font-size: inherit;
344
+ line-height: inherit;
345
+ letter-spacing: inherit;
346
+ color: inherit;
347
+
348
+ box-sizing: border-box;
349
+ box-shadow: none;
350
+ border: none;
351
+ }
352
+
353
+ & .dropdown__list-item{
354
+ font-family: inherit;
355
+ font-style: inherit;
356
+ font-weight: inherit;
357
+ font-size: inherit;
358
+ line-height: inherit;
359
+ letter-spacing: inherit;
360
+ color: inherit;
361
+ }
362
+ }
363
+
364
+ // &__previous-period {
365
+
366
+ // }
367
+
368
+ &__calendars {
369
+ box-sizing: border-box;
370
+ width: 100%;
371
+ height: 100%;
372
+ padding: 10px 16px;
373
+ border-top: 1px solid var(--border-color);
374
+ border-bottom: 1px solid var(--border-color);
375
+ background-color: #FFFFFF;
376
+
377
+ display: flex;
378
+ flex-flow: row nowrap;
379
+ justify-content: center;
380
+ align-items: flex-start;
381
+
382
+ &-wrapper {
383
+ width: 100%;
384
+ // width: fit-content;
385
+ display: flex;
386
+ flex-flow: row nowrap;
387
+ justify-content: space-between;
388
+ align-items: flex-start;
389
+ }
390
+
391
+ .date-picker__calendar {
392
+ &:first-child{
393
+ margin-right: 10px;
394
+ }
395
+ }
396
+
397
+ .range-calendar {
398
+ box-sizing: border-box;
399
+ width: fit-content;
400
+ height: fit-content;
401
+
402
+ &-header {
403
+ height: fit-content;
404
+ margin-bottom: 12px;
405
+
406
+ font-size: calc(var(--font-size) + 2px);
407
+ line-height: calc(var(--line-height) + 4px);
408
+
409
+ display: flex;
410
+ justify-content: space-between;
411
+ align-items: center;
412
+
413
+ &__title {
414
+ text-align: center;
415
+ }
416
+
417
+ &__next, &__prev {
418
+ cursor: pointer;
419
+ }
420
+ }
421
+
422
+ &__week {
423
+ display: flex;
424
+
425
+ &-title {
426
+ margin-bottom: 5px;
427
+ }
428
+ }
429
+
430
+ &__day {
431
+ position: relative;
432
+ box-sizing: border-box;
433
+ width: 36px;
434
+ height: 24px;
435
+ margin: 1px 0;
436
+ flex-grow: 1;
437
+ flex-basis: 0;
438
+ user-select: none;
439
+
440
+ display: flex;
441
+ justify-content: center;
442
+ align-items: center;
443
+
444
+ font-size: var(--font-size);
445
+ line-height: var(--line-height);
446
+ text-align: center;
447
+
448
+ &--clickable {
449
+ cursor: pointer;
450
+
451
+ &:hover {
452
+ background: #E2E6F8;
453
+ }
454
+ }
455
+
456
+ &--disabled {
457
+ cursor: default;
458
+ opacity: 0.2;
459
+ pointer-events: none;
460
+
461
+ &:hover {
462
+ background: inherit;
463
+ }
464
+ }
465
+
466
+ &--range-end {
467
+ background: #EAF2FF;
468
+ border: 1px solid #EAF2FF;
469
+ border-radius: 0 24px 24px 0;
470
+ color: var(--calendar-range-point-color);
471
+
472
+ &::before {
473
+ content: '';
474
+ display: block;
475
+ width: 100%;
476
+ height: 100%;
477
+ box-sizing: border-box;
478
+ position: absolute;
479
+ border: 1px solid var(--calendar-range-point-color);
480
+ border-radius: 24px;
481
+ pointer-events: none;
482
+ }
483
+
484
+ &:hover {
485
+ color: #F8FBFF;
486
+ background-color: var(--calendar-range-point-color);
487
+ border-radius: 24px;
488
+ }
489
+ }
490
+
491
+ &--range-start {
492
+ background: var(--calendar-range-point-color);
493
+ border: 1px solid var(--calendar-range-point-color);
494
+ box-sizing: border-box;
495
+ border-radius: 24px;
496
+ color: #F8FBFF;
497
+
498
+ &:hover {
499
+ background: var(--calendar-range-point-color);
500
+ color: #F8FBFF;
501
+ }
502
+ }
503
+
504
+ &--range-inside {
505
+ background: #EAF2FF;
506
+ }
507
+
508
+ &--prev-range-end {
509
+ background: #E2E5EC;
510
+ border-radius: 4px;
511
+ }
512
+
513
+ &--prev-range-inside {
514
+ background: #F7F8FA;
515
+ }
516
+
517
+ &--title {
518
+ font-size: calc(var(--font-size) + 2px);
519
+ line-height: calc(var(--line-height) + 4px);
520
+
521
+ &:hover {
522
+ background: inherit;
523
+ }
524
+ }
525
+ }
526
+ }
527
+ }
528
+
529
+ &__footer {
530
+ box-sizing: border-box;
531
+ width: 100%;
532
+ padding: 8px 16px;
533
+ border-radius: 0 0 16px 0;
534
+ border: none;
535
+
536
+ display: flex;
537
+ flex-flow: row nowrap;
538
+ justify-content: space-between;
539
+ align-items: center;
540
+
541
+ &_once-element{
542
+ justify-content: flex-end;
543
+ }
544
+ }
545
+
546
+ &__buttons-block {
547
+ box-sizing: border-box;
548
+ width: fit-content;
549
+ height: 100%;
550
+ }
551
+
552
+ &__button {
553
+ text-transform: capitalize;
554
+
555
+ &:first-child {
556
+ margin-right: 16px;
557
+ }
558
+
559
+ &:last-child {
560
+ }
561
+ }
562
+
563
+ &__compare-block {
564
+ box-sizing: border-box;
565
+ width: fit-content;
566
+ height: 100%;
567
+ }
568
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.InputDateRangeTemplate = exports.default = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
+
16
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
+
18
+ var _react = _interopRequireWildcard(require("react"));
19
+
20
+ var _InputDateRange = _interopRequireDefault(require("./InputDateRange"));
21
+
22
+ var _excluded = ["dateRange"];
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
+
26
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
+
28
+ global.lng = 'en';
29
+ var _default = {
30
+ title: 'Form Elements/InputDateRange',
31
+ component: _InputDateRange.default,
32
+ argTypes: {// status: {
33
+ // control: {
34
+ // type: 'select',
35
+ // options: ['admin', 'user']
36
+ // }
37
+ // }
38
+ }
39
+ };
40
+ exports.default = _default;
41
+
42
+ var Template = function Template(args) {
43
+ var dateRange = args.dateRange,
44
+ restOfProps = (0, _objectWithoutProperties2.default)(args, _excluded);
45
+
46
+ var _useState = (0, _react.useState)(dateRange),
47
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
48
+ value = _useState2[0],
49
+ setValue = _useState2[1]; // return <InputDateRange {...restOfProps} value={value} onChange={setValue} />;
50
+
51
+
52
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
53
+ className: "mb20"
54
+ }, /*#__PURE__*/_react.default.createElement(_InputDateRange.default, (0, _extends2.default)({}, restOfProps, {
55
+ value: value,
56
+ onChange: setValue
57
+ }))));
58
+ };
59
+
60
+ var InputDateRangeTemplate = Template.bind({});
61
+ exports.InputDateRangeTemplate = InputDateRangeTemplate;
62
+ InputDateRangeTemplate.args = {
63
+ txt: {},
64
+ buttonsTypes: {
65
+ // apply: 'ellipse-apply',
66
+ cancel: 'bark-outline'
67
+ },
68
+ label: 'Date Range',
69
+ dateRange: {
70
+ intervalKey: 'today'
71
+ },
72
+ id: 'anyToggleButtonId',
73
+ className: 'anyExternalContainerClassName',
74
+ error: false,
75
+ disabled: false,
76
+ isHoverable: false,
77
+ // short: true,
78
+ isCompact: false,
79
+ // isFocused: true,
80
+ isIntervalsHidden: false,
81
+ isCompareHidden: true,
82
+ hideArrows: false,
83
+ isOptionsRight: false // limitRange,
84
+ // isUseAbs,
85
+ // absTooltip
86
+
87
+ };