perfect-gui 3.0.3 → 3.0.5

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.
package/README.md CHANGED
@@ -91,14 +91,16 @@ gui.image('Click this', 'path/to/image', () => {
91
91
 
92
92
  ```javascript
93
93
  // Simple slider, only returns a value to the callback
94
- // step parameter is optional
94
+ // min parameter is optional, default is 0
95
+ // max parameter is optional, default is 1
96
+ // step parameter is optional, default is (max - min) * 0.01
95
97
  gui.slider('Slide this', { value: 5, min: 0, max: 10, step: .1 }, value => {
96
98
  console.log('Slider value : ' + value);
97
99
  });
98
100
 
99
101
  // Object-based slider, automatically updates the value of the object property.
100
102
  // Directly updating the property will also update the slider.
101
- // step parameter is optional
103
+ // callback is optional
102
104
  gui.slider('Slide this', { object: foo, prop: 'bar', min: 0, max: 10, step: .1 });
103
105
  ```
104
106
  </td></tr>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "perfect-gui",
3
- "version": "3.0.3",
3
+ "version": "3.0.5",
4
4
  "description": "Nice and simple GUI for JavaScript.",
5
5
  "main": "src/index.js",
6
6
  "directories": {
package/src/index.js CHANGED
@@ -10,6 +10,8 @@ export default class GUI {
10
10
  this.position_type = 'fixed';
11
11
  }
12
12
 
13
+ this.propReferences = [];
14
+
13
15
  if ( options.isFolder ) {
14
16
  this._folderConstructor(options.folderOptions);
15
17
  return;
@@ -77,8 +79,6 @@ export default class GUI {
77
79
  if (options.closed) this.toggleClose();
78
80
 
79
81
  this.folders = [];
80
-
81
- this.propReferences = [];
82
82
  }
83
83
 
84
84
  _folderConstructor(folderOptions) {
@@ -221,16 +221,14 @@ export default class GUI {
221
221
  }
222
222
 
223
223
  slider (text, sliderParams, callback) {
224
- this._checkMandatoryParams({
225
- min: 'number',
226
- max: 'number',
227
- }, sliderParams);
228
-
229
224
  let isObject = false;
230
225
  let propReferenceIndex = null;
231
226
  let object;
232
227
  let prop;
233
- let step = sliderParams.step || (sliderParams.max - sliderParams.min) / 100;
228
+
229
+ const min = sliderParams.min ?? 0;
230
+ const max = sliderParams.max ?? 1;
231
+ const step = sliderParams.step || (max - min) / 100;
234
232
 
235
233
  if ( typeof sliderParams.value == 'number' ) {
236
234
  this._checkMandatoryParams({
@@ -261,8 +259,8 @@ export default class GUI {
261
259
  class: 'p-gui__slider-ctrl',
262
260
  customAttributes: {
263
261
  type: 'range',
264
- min: sliderParams.min,
265
- max: sliderParams.max,
262
+ min,
263
+ max,
266
264
  step,
267
265
  value: isObject ? object[prop] : sliderParams.value
268
266
  }
@@ -480,8 +478,15 @@ export default class GUI {
480
478
  this.imageContainer = null;
481
479
 
482
480
  let className = 'p-gui__folder';
483
- if (this.folders.length == 0) className += ' p-gui__folder--first';
484
- if (closed) className += ' p-gui__folder--closed';
481
+
482
+ if (this.folders.length == 0) {
483
+ className += ' p-gui__folder--first';
484
+ }
485
+
486
+ if (closed) {
487
+ className += ' p-gui__folder--closed';
488
+ }
489
+
485
490
  let container = this._createElement({
486
491
  class: className
487
492
  });
@@ -19,7 +19,7 @@ export default function basics() {
19
19
  });
20
20
 
21
21
  gui.slider('Slider (simple callback)',
22
- { value: 1, min: 0, max: 1 },
22
+ { value: 1 },
23
23
  value => {
24
24
  element.style.opacity = value;
25
25
  }
@@ -15,6 +15,10 @@ export default function folders() {
15
15
  element.style.backgroundColor = getRandomColor();
16
16
  });
17
17
 
18
+ folder_1.slider("Size", { value: 1 }, value => {
19
+ element.style.transform = `scale(${value})`;
20
+ });
21
+
18
22
  let folder_2 = gui.folder('Folder 2 (closed)', { closed: true });
19
23
 
20
24
  folder_2.button("Random color", () => {