cx 25.4.1 → 25.5.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 (140) hide show
  1. package/dist/charts.js +2 -2
  2. package/dist/data.js +17 -3
  3. package/dist/manifest.js +732 -732
  4. package/dist/ui.js +94 -61
  5. package/dist/widgets.js +25 -13
  6. package/package.json +1 -1
  7. package/src/charts/Legend.d.ts +45 -45
  8. package/src/charts/LegendEntry.js +128 -128
  9. package/src/charts/LegendEntry.scss +27 -27
  10. package/src/charts/PieChart.d.ts +92 -92
  11. package/src/charts/RangeMarker.js +6 -2
  12. package/src/charts/axis/Axis.d.ts +113 -113
  13. package/src/charts/axis/Axis.js +280 -280
  14. package/src/charts/axis/CategoryAxis.d.ts +30 -30
  15. package/src/charts/axis/CategoryAxis.js +241 -241
  16. package/src/charts/axis/NumericAxis.d.ts +46 -46
  17. package/src/charts/axis/NumericAxis.js +351 -351
  18. package/src/charts/axis/Stack.js +55 -55
  19. package/src/charts/axis/TimeAxis.d.ts +31 -28
  20. package/src/charts/axis/TimeAxis.js +611 -611
  21. package/src/charts/helpers/PointReducer.js +47 -47
  22. package/src/charts/helpers/SnapPointFinder.js +69 -69
  23. package/src/data/AugmentedViewBase.js +77 -75
  24. package/src/data/Binding.spec.js +69 -69
  25. package/src/data/ExposedRecordView.js +75 -70
  26. package/src/data/ExposedValueView.js +73 -72
  27. package/src/data/Expression.js +229 -229
  28. package/src/data/Expression.spec.js +229 -229
  29. package/src/data/Ref.d.ts +24 -24
  30. package/src/data/Ref.spec.js +79 -79
  31. package/src/data/StoreRef.spec.js +24 -24
  32. package/src/data/StringTemplate.js +92 -92
  33. package/src/data/StringTemplate.spec.js +132 -132
  34. package/src/data/StructuredDataAccessor.d.ts +7 -7
  35. package/src/data/StructuredSelector.js +132 -132
  36. package/src/data/SubscribableView.js +54 -54
  37. package/src/data/getAccessor.spec.js +11 -11
  38. package/src/data/getSelector.js +49 -49
  39. package/src/hooks/createLocalStorageRef.d.ts +3 -3
  40. package/src/hooks/createLocalStorageRef.js +20 -20
  41. package/src/index.scss +6 -6
  42. package/src/ui/Container.js +154 -183
  43. package/src/ui/Culture.d.ts +57 -57
  44. package/src/ui/Culture.js +139 -139
  45. package/src/ui/Cx.js +3 -3
  46. package/src/ui/DataProxy.js +45 -44
  47. package/src/ui/DetachedScope.js +98 -94
  48. package/src/ui/FocusManager.js +171 -171
  49. package/src/ui/Format.js +108 -108
  50. package/src/ui/HoverSync.js +147 -147
  51. package/src/ui/Instance.d.ts +1 -1
  52. package/src/ui/Instance.js +25 -16
  53. package/src/ui/IsolatedScope.js +30 -30
  54. package/src/ui/Repeater.d.ts +61 -61
  55. package/src/ui/Repeater.js +109 -102
  56. package/src/ui/Rescope.js +35 -31
  57. package/src/ui/Restate.js +167 -163
  58. package/src/ui/Widget.js +184 -200
  59. package/src/ui/adapter/ArrayAdapter.js +152 -142
  60. package/src/ui/adapter/TreeAdapter.js +101 -100
  61. package/src/ui/createFunctionalComponent.d.ts +1 -1
  62. package/src/ui/createFunctionalComponent.js +31 -36
  63. package/src/ui/layout/ContentPlaceholder.d.ts +19 -19
  64. package/src/ui/layout/ContentPlaceholder.js +105 -105
  65. package/src/ui/layout/ContentPlaceholder.spec.js +579 -579
  66. package/src/ui/layout/LabelsTopLayout.js +134 -134
  67. package/src/ui/layout/exploreChildren.d.ts +12 -15
  68. package/src/ui/layout/exploreChildren.js +27 -40
  69. package/src/util/Format.js +270 -270
  70. package/src/util/date/encodeDate.d.ts +1 -1
  71. package/src/util/date/encodeDate.js +8 -8
  72. package/src/util/date/encodeDateWithTimezoneOffset.d.ts +1 -1
  73. package/src/util/date/index.d.ts +11 -11
  74. package/src/util/date/index.js +11 -11
  75. package/src/util/date/parseDateInvariant.d.ts +3 -3
  76. package/src/util/date/parseDateInvariant.js +20 -20
  77. package/src/util/debounce.js +18 -18
  78. package/src/util/getSearchQueryPredicate.js +59 -59
  79. package/src/util/index.d.ts +51 -51
  80. package/src/util/index.js +54 -54
  81. package/src/util/isValidIdentifierName.d.ts +1 -1
  82. package/src/util/isValidIdentifierName.js +5 -5
  83. package/src/util/isValidIdentifierName.spec.js +33 -33
  84. package/src/util/scss/add-rules.scss +38 -38
  85. package/src/util/validatedDebounce.js +19 -19
  86. package/src/widgets/Button.js +118 -118
  87. package/src/widgets/CxCredit.scss +37 -37
  88. package/src/widgets/HighlightedSearchText.js +36 -36
  89. package/src/widgets/HighlightedSearchText.scss +18 -18
  90. package/src/widgets/List.js +594 -587
  91. package/src/widgets/List.scss +91 -91
  92. package/src/widgets/Sandbox.js +9 -8
  93. package/src/widgets/drag-drop/DropZone.js +214 -214
  94. package/src/widgets/form/Calendar.d.ts +86 -86
  95. package/src/widgets/form/Calendar.js +618 -618
  96. package/src/widgets/form/Calendar.scss +196 -196
  97. package/src/widgets/form/Checkbox.scss +127 -127
  98. package/src/widgets/form/ColorField.js +397 -397
  99. package/src/widgets/form/ColorField.scss +96 -96
  100. package/src/widgets/form/ColorPicker.scss +283 -283
  101. package/src/widgets/form/DateTimeField.js +576 -576
  102. package/src/widgets/form/DateTimePicker.js +392 -392
  103. package/src/widgets/form/LookupField.d.ts +179 -179
  104. package/src/widgets/form/LookupField.scss +219 -219
  105. package/src/widgets/form/MonthField.d.ts +99 -99
  106. package/src/widgets/form/MonthField.js +523 -523
  107. package/src/widgets/form/MonthPicker.d.ts +76 -76
  108. package/src/widgets/form/MonthPicker.js +641 -641
  109. package/src/widgets/form/MonthPicker.scss +118 -118
  110. package/src/widgets/form/NumberField.js +459 -459
  111. package/src/widgets/form/NumberField.scss +61 -61
  112. package/src/widgets/form/Radio.scss +121 -121
  113. package/src/widgets/form/Select.scss +99 -99
  114. package/src/widgets/form/Slider.scss +118 -118
  115. package/src/widgets/form/Switch.scss +140 -140
  116. package/src/widgets/form/TextArea.scss +43 -43
  117. package/src/widgets/form/TextField.js +290 -290
  118. package/src/widgets/form/TextField.scss +55 -55
  119. package/src/widgets/form/UploadButton.d.ts +34 -34
  120. package/src/widgets/form/variables.scss +353 -353
  121. package/src/widgets/grid/Grid.d.ts +442 -442
  122. package/src/widgets/grid/Grid.js +7 -0
  123. package/src/widgets/grid/GridRow.js +228 -228
  124. package/src/widgets/grid/TreeNode.d.ts +23 -23
  125. package/src/widgets/grid/TreeNode.scss +88 -88
  126. package/src/widgets/grid/variables.scss +133 -133
  127. package/src/widgets/nav/LinkButton.js +128 -128
  128. package/src/widgets/nav/Menu.scss +74 -74
  129. package/src/widgets/nav/Route.js +102 -106
  130. package/src/widgets/overlay/Dropdown.js +612 -612
  131. package/src/widgets/overlay/FlyweightTooltipTracker.js +39 -39
  132. package/src/widgets/overlay/Overlay.d.ts +73 -73
  133. package/src/widgets/overlay/Tooltip.js +1 -1
  134. package/src/widgets/overlay/Window.js +202 -202
  135. package/src/widgets/overlay/captureMouse.js +124 -124
  136. package/src/widgets/overlay/createHotPromiseWindowFactory.d.ts +18 -18
  137. package/src/widgets/overlay/createHotPromiseWindowFactory.js +56 -56
  138. package/src/widgets/overlay/index.d.ts +11 -11
  139. package/src/widgets/overlay/index.js +11 -11
  140. package/src/widgets/variables.scss +144 -144
@@ -1,88 +1,88 @@
1
- @mixin cx-treenode(
2
- $name: "treenode",
3
- $icon-size: $cx-default-icon-size,
4
- $handle-size: $cx-default-input-tool-size,
5
- $handle-state-style-map: $cx-input-right-icon-state-style-map,
6
- $besm: $cx-besm
7
- ) {
8
- $block: map-get($besm, block);
9
- $element: map-get($besm, element);
10
- $state: map-get($besm, state);
11
- $mod: map-get($besm, mod);
12
-
13
- .#{$block}#{$name} {
14
- padding-left: $handle-size + $icon-size * 0.25;
15
- position: relative;
16
-
17
- &.#{$state}icon {
18
- padding-left: $handle-size + $icon-size + $icon-size * 0.25;
19
- }
20
-
21
- @for $i from 1 through 20 {
22
- &.#{$state}level-#{$i} {
23
- margin-left: #{($i * 20)}px;
24
- }
25
- }
26
- }
27
-
28
- .#{$element}#{$name}-handle {
29
- position: absolute;
30
-
31
- @include cx-add-state-rules($handle-state-style-map, default);
32
-
33
- left: 0;
34
- top: 50%;
35
- margin-top: -$handle-size * 0.5;
36
- bottom: 0;
37
- width: $handle-size + $icon-size;
38
- height: $handle-size;
39
-
40
- &:hover {
41
- @include cx-add-state-rules($handle-state-style-map, hover);
42
- }
43
-
44
- &:active {
45
- @include cx-add-state-rules($handle-state-style-map, active);
46
- }
47
- }
48
-
49
- .#{$element}#{$name}-arrow {
50
- display: block;
51
- position: absolute;
52
- left: 0;
53
- top: 50%;
54
- margin-top: -$icon-size * 0.5;
55
- margin-left: ($handle-size - $icon-size) * 0.5;
56
- height: $icon-size;
57
- width: $icon-size;
58
- line-height: $icon-size;
59
- transform: rotate(-90deg);
60
- transition: transform 0.2s;
61
-
62
- .#{$state}expanded & {
63
- transform: rotate(0);
64
- }
65
- }
66
-
67
- .#{$element}#{$name}-icon {
68
- display: block;
69
- position: absolute;
70
- left: 0;
71
- top: 50%;
72
- margin-top: -$icon-size * 0.5;
73
- margin-left: ($handle-size + $icon-size) * 0.5;
74
- height: $icon-size;
75
- width: $icon-size;
76
- line-height: $icon-size;
77
- }
78
-
79
- .#{$block}grid.#{$mod}tree {
80
- td {
81
- border-top: none;
82
- }
83
- }
84
- }
85
-
86
- @if (cx-should-include("cx/widgets/TreeNode")) {
87
- @include cx-treenode();
88
- }
1
+ @mixin cx-treenode(
2
+ $name: "treenode",
3
+ $icon-size: $cx-default-icon-size,
4
+ $handle-size: $cx-default-input-tool-size,
5
+ $handle-state-style-map: $cx-input-right-icon-state-style-map,
6
+ $besm: $cx-besm
7
+ ) {
8
+ $block: map-get($besm, block);
9
+ $element: map-get($besm, element);
10
+ $state: map-get($besm, state);
11
+ $mod: map-get($besm, mod);
12
+
13
+ .#{$block}#{$name} {
14
+ padding-left: $handle-size + $icon-size * 0.25;
15
+ position: relative;
16
+
17
+ &.#{$state}icon {
18
+ padding-left: $handle-size + $icon-size + $icon-size * 0.25;
19
+ }
20
+
21
+ @for $i from 1 through 20 {
22
+ &.#{$state}level-#{$i} {
23
+ margin-left: #{($i * 20)}px;
24
+ }
25
+ }
26
+ }
27
+
28
+ .#{$element}#{$name}-handle {
29
+ position: absolute;
30
+
31
+ @include cx-add-state-rules($handle-state-style-map, default);
32
+
33
+ left: 0;
34
+ top: 50%;
35
+ margin-top: -$handle-size * 0.5;
36
+ bottom: 0;
37
+ width: $handle-size + $icon-size;
38
+ height: $handle-size;
39
+
40
+ &:hover {
41
+ @include cx-add-state-rules($handle-state-style-map, hover);
42
+ }
43
+
44
+ &:active {
45
+ @include cx-add-state-rules($handle-state-style-map, active);
46
+ }
47
+ }
48
+
49
+ .#{$element}#{$name}-arrow {
50
+ display: block;
51
+ position: absolute;
52
+ left: 0;
53
+ top: 50%;
54
+ margin-top: -$icon-size * 0.5;
55
+ margin-left: ($handle-size - $icon-size) * 0.5;
56
+ height: $icon-size;
57
+ width: $icon-size;
58
+ line-height: $icon-size;
59
+ transform: rotate(-90deg);
60
+ transition: transform 0.2s;
61
+
62
+ .#{$state}expanded & {
63
+ transform: rotate(0);
64
+ }
65
+ }
66
+
67
+ .#{$element}#{$name}-icon {
68
+ display: block;
69
+ position: absolute;
70
+ left: 0;
71
+ top: 50%;
72
+ margin-top: -$icon-size * 0.5;
73
+ margin-left: ($handle-size + $icon-size) * 0.5;
74
+ height: $icon-size;
75
+ width: $icon-size;
76
+ line-height: $icon-size;
77
+ }
78
+
79
+ .#{$block}grid.#{$mod}tree {
80
+ td {
81
+ border-top: none;
82
+ }
83
+ }
84
+ }
85
+
86
+ @if (cx-should-include("cx/widgets/TreeNode")) {
87
+ @include cx-treenode();
88
+ }
@@ -1,133 +1,133 @@
1
- // GRID
2
- $cx-default-grid-font-size: $cx-default-box-font-size !default;
3
- $cx-default-grid-border-color: $cx-default-border-color !default;
4
- $cx-default-grid-border-radius: null !default;
5
- $cx-default-grid-box-shadow: null !default;
6
-
7
- // header
8
- $cx-default-grid-header-font-size: $cx-default-box-font-size !default;
9
- $cx-default-grid-header-font-weight: normal !default;
10
- $cx-default-grid-header-line-height: null !default;
11
- $cx-default-grid-header-color: $cx-default-color !default;
12
- $cx-default-grid-header-background-color: #eee !default;
13
- $cx-default-grid-header-border-color: $cx-default-border-color !default;
14
- $cx-default-grid-header-box-shadow: null !default;
15
- $cx-default-grid-header-padding: null !default;
16
-
17
- $cx-grid-header-state-style-map: (
18
- default: (
19
- font-size: $cx-default-grid-header-font-size,
20
- font-weight: $cx-default-grid-header-font-weight,
21
- line-height: $cx-default-grid-header-line-height,
22
- color: $cx-default-grid-header-color,
23
- background-color: $cx-default-grid-header-background-color,
24
- border-color: $cx-default-grid-header-border-color,
25
- background-clip: border-box,
26
- padding: $cx-default-grid-header-padding,
27
- ),
28
- hover: (
29
- background-color: darken($cx-default-grid-header-background-color, 2),
30
- ),
31
- sorted: (
32
- background-color: darken($cx-default-grid-header-background-color, 7),
33
- ),
34
- sorted-hover: (
35
- background-color: darken($cx-default-grid-header-background-color, 5),
36
- ),
37
- ) !default;
38
-
39
- // data
40
- $cx-default-grid-data-font-size: null !default;
41
- $cx-default-grid-data-font-weight: null !default;
42
- $cx-default-grid-data-line-height: null !default;
43
- $cx-default-grid-data-background-color: transparent !default;
44
- $cx-default-grid-data-alternate-background-color: null !default;
45
- $cx-default-grid-data-border-color: $cx-default-grid-border-color !default;
46
- $cx-default-grid-data-padding: 5px !default;
47
- $cx-default-grid-caption-gap: 15px !default;
48
-
49
- $cx-grid-data-state-style-map: cx-deep-map-merge(
50
- $cx-list-item,
51
- (
52
- default: (
53
- font-size: $cx-default-grid-data-font-size,
54
- line-height: $cx-default-grid-data-line-height,
55
- font-weight: $cx-default-grid-data-font-weight,
56
- background-color: $cx-default-grid-data-background-color,
57
- border-color: $cx-default-grid-data-border-color,
58
- padding: $cx-default-grid-data-padding,
59
- ),
60
- alternate: (
61
- background-color: $cx-default-grid-data-alternate-background-color,
62
- ),
63
- )
64
- ) !default;
65
-
66
- $cx-grid-group-caption-level-style-map: (
67
- level-1: (
68
- font-weight: bold,
69
- font-size: 115%,
70
- ),
71
- level-2: (
72
- font-weight: bold,
73
- font-size: 130%,
74
- border-bottom: 1px solid grey,
75
- ),
76
- level-3: (
77
- font-weight: bold,
78
- font-size: 145%,
79
- border-bottom: 1px solid grey,
80
- ),
81
- level-4: (
82
- font-weight: bold,
83
- font-size: 160%,
84
- border-bottom: 1px solid grey,
85
- ),
86
- );
87
-
88
- $cx-grid-group-footer-level-style-map: (
89
- level-1: (
90
- font-weight: bold,
91
- border-top: 1px solid $cx-default-grid-border-color,
92
- ),
93
- level-2: (
94
- font-weight: bold,
95
- font-size: 110%,
96
- border-top: 1px solid grey,
97
- ),
98
- level-3: (
99
- font-weight: bold,
100
- font-size: 120%,
101
- border-top: 1px solid grey,
102
- ),
103
- level-4: (
104
- font-weight: bold,
105
- font-size: 130%,
106
- border-top: 1px solid grey,
107
- ),
108
- );
109
-
110
- // pagination
111
- $cx-grid-pagination-default-border-width: $cx-default-border-width !default;
112
- $cx-grid-pagination-default-border-color: $cx-default-border-color !default;
113
- $cx-grid-pagination-default-border-radius: null !default;
114
- $cx-grid-pagination-default-outer-border-radius: $cx-default-border-radius !default;
115
- $cx-grid-pagination-default-padding: cx-top($cx-default-box-padding) 2 * cx-top($cx-default-box-padding) !default;
116
-
117
- $cx-grid-pagination-state-style-map: cx-deep-map-merge($cx-list-item, ()) !default;
118
-
119
- $cx-grid-cell-cursor-style: (
120
- left: -1px,
121
- top: -1px,
122
- right: -1px,
123
- bottom: -1px,
124
- background: rgba(green, 0.1),
125
- border: 2px solid rgba(green, 1),
126
- );
127
-
128
- $cx-dependencies: map-merge(
129
- $cx-dependencies,
130
- (
131
- "cx/widgets/Grid": "cx/widgets/DragClone",
132
- )
133
- );
1
+ // GRID
2
+ $cx-default-grid-font-size: $cx-default-box-font-size !default;
3
+ $cx-default-grid-border-color: $cx-default-border-color !default;
4
+ $cx-default-grid-border-radius: null !default;
5
+ $cx-default-grid-box-shadow: null !default;
6
+
7
+ // header
8
+ $cx-default-grid-header-font-size: $cx-default-box-font-size !default;
9
+ $cx-default-grid-header-font-weight: normal !default;
10
+ $cx-default-grid-header-line-height: null !default;
11
+ $cx-default-grid-header-color: $cx-default-color !default;
12
+ $cx-default-grid-header-background-color: #eee !default;
13
+ $cx-default-grid-header-border-color: $cx-default-border-color !default;
14
+ $cx-default-grid-header-box-shadow: null !default;
15
+ $cx-default-grid-header-padding: null !default;
16
+
17
+ $cx-grid-header-state-style-map: (
18
+ default: (
19
+ font-size: $cx-default-grid-header-font-size,
20
+ font-weight: $cx-default-grid-header-font-weight,
21
+ line-height: $cx-default-grid-header-line-height,
22
+ color: $cx-default-grid-header-color,
23
+ background-color: $cx-default-grid-header-background-color,
24
+ border-color: $cx-default-grid-header-border-color,
25
+ background-clip: border-box,
26
+ padding: $cx-default-grid-header-padding,
27
+ ),
28
+ hover: (
29
+ background-color: darken($cx-default-grid-header-background-color, 2),
30
+ ),
31
+ sorted: (
32
+ background-color: darken($cx-default-grid-header-background-color, 7),
33
+ ),
34
+ sorted-hover: (
35
+ background-color: darken($cx-default-grid-header-background-color, 5),
36
+ ),
37
+ ) !default;
38
+
39
+ // data
40
+ $cx-default-grid-data-font-size: null !default;
41
+ $cx-default-grid-data-font-weight: null !default;
42
+ $cx-default-grid-data-line-height: null !default;
43
+ $cx-default-grid-data-background-color: transparent !default;
44
+ $cx-default-grid-data-alternate-background-color: null !default;
45
+ $cx-default-grid-data-border-color: $cx-default-grid-border-color !default;
46
+ $cx-default-grid-data-padding: 5px !default;
47
+ $cx-default-grid-caption-gap: 15px !default;
48
+
49
+ $cx-grid-data-state-style-map: cx-deep-map-merge(
50
+ $cx-list-item,
51
+ (
52
+ default: (
53
+ font-size: $cx-default-grid-data-font-size,
54
+ line-height: $cx-default-grid-data-line-height,
55
+ font-weight: $cx-default-grid-data-font-weight,
56
+ background-color: $cx-default-grid-data-background-color,
57
+ border-color: $cx-default-grid-data-border-color,
58
+ padding: $cx-default-grid-data-padding,
59
+ ),
60
+ alternate: (
61
+ background-color: $cx-default-grid-data-alternate-background-color,
62
+ ),
63
+ )
64
+ ) !default;
65
+
66
+ $cx-grid-group-caption-level-style-map: (
67
+ level-1: (
68
+ font-weight: bold,
69
+ font-size: 115%,
70
+ ),
71
+ level-2: (
72
+ font-weight: bold,
73
+ font-size: 130%,
74
+ border-bottom: 1px solid grey,
75
+ ),
76
+ level-3: (
77
+ font-weight: bold,
78
+ font-size: 145%,
79
+ border-bottom: 1px solid grey,
80
+ ),
81
+ level-4: (
82
+ font-weight: bold,
83
+ font-size: 160%,
84
+ border-bottom: 1px solid grey,
85
+ ),
86
+ );
87
+
88
+ $cx-grid-group-footer-level-style-map: (
89
+ level-1: (
90
+ font-weight: bold,
91
+ border-top: 1px solid $cx-default-grid-border-color,
92
+ ),
93
+ level-2: (
94
+ font-weight: bold,
95
+ font-size: 110%,
96
+ border-top: 1px solid grey,
97
+ ),
98
+ level-3: (
99
+ font-weight: bold,
100
+ font-size: 120%,
101
+ border-top: 1px solid grey,
102
+ ),
103
+ level-4: (
104
+ font-weight: bold,
105
+ font-size: 130%,
106
+ border-top: 1px solid grey,
107
+ ),
108
+ );
109
+
110
+ // pagination
111
+ $cx-grid-pagination-default-border-width: $cx-default-border-width !default;
112
+ $cx-grid-pagination-default-border-color: $cx-default-border-color !default;
113
+ $cx-grid-pagination-default-border-radius: null !default;
114
+ $cx-grid-pagination-default-outer-border-radius: $cx-default-border-radius !default;
115
+ $cx-grid-pagination-default-padding: cx-top($cx-default-box-padding) 2 * cx-top($cx-default-box-padding) !default;
116
+
117
+ $cx-grid-pagination-state-style-map: cx-deep-map-merge($cx-list-item, ()) !default;
118
+
119
+ $cx-grid-cell-cursor-style: (
120
+ left: -1px,
121
+ top: -1px,
122
+ right: -1px,
123
+ bottom: -1px,
124
+ background: rgba(green, 0.1),
125
+ border: 2px solid rgba(green, 1),
126
+ );
127
+
128
+ $cx-dependencies: map-merge(
129
+ $cx-dependencies,
130
+ (
131
+ "cx/widgets/Grid": "cx/widgets/DragClone",
132
+ )
133
+ );