@shoper/phoenix_design_system 1.18.43-4 → 1.18.44

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 (49) hide show
  1. package/build/cjs/_virtual/_baseTrim.js_commonjs-proxy +10 -0
  2. package/build/cjs/_virtual/_baseTrim.js_commonjs-proxy.map +1 -0
  3. package/build/cjs/_virtual/_trimmedEndIndex.js_commonjs-proxy +10 -0
  4. package/build/cjs/_virtual/_trimmedEndIndex.js_commonjs-proxy.map +1 -0
  5. package/build/cjs/external/lodash/_baseTrim.js +26 -0
  6. package/build/cjs/external/lodash/_baseTrim.js.map +1 -0
  7. package/build/cjs/external/lodash/_equalArrays.js +5 -4
  8. package/build/cjs/external/lodash/_equalArrays.js.map +1 -1
  9. package/build/cjs/external/lodash/_equalObjects.js +5 -4
  10. package/build/cjs/external/lodash/_equalObjects.js.map +1 -1
  11. package/build/cjs/external/lodash/_setCacheHas.js +1 -1
  12. package/build/cjs/external/lodash/_trimmedEndIndex.js +26 -0
  13. package/build/cjs/external/lodash/_trimmedEndIndex.js.map +1 -0
  14. package/build/cjs/external/lodash/toNumber.js +2 -4
  15. package/build/cjs/external/lodash/toNumber.js.map +1 -1
  16. package/build/cjs/packages/phoenix/src/components/form/input_stepper/button_stepper.js +10 -5
  17. package/build/cjs/packages/phoenix/src/components/form/input_stepper/button_stepper.js.map +1 -1
  18. package/build/cjs/packages/phoenix/src/components/form/input_stepper/input_stepper.js +12 -0
  19. package/build/cjs/packages/phoenix/src/components/form/input_stepper/input_stepper.js.map +1 -1
  20. package/build/cjs/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js +4 -0
  21. package/build/cjs/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js.map +1 -1
  22. package/build/cjs/packages/phoenix/src/components/form/select/select.js +5 -5
  23. package/build/esm/_virtual/_baseTrim.js_commonjs-proxy +3 -0
  24. package/build/esm/_virtual/_baseTrim.js_commonjs-proxy.map +1 -0
  25. package/build/esm/_virtual/_trimmedEndIndex.js_commonjs-proxy +3 -0
  26. package/build/esm/_virtual/_trimmedEndIndex.js_commonjs-proxy.map +1 -0
  27. package/build/esm/external/lodash/_baseTrim.js +22 -0
  28. package/build/esm/external/lodash/_baseTrim.js.map +1 -0
  29. package/build/esm/external/lodash/_equalArrays.js +5 -4
  30. package/build/esm/external/lodash/_equalArrays.js.map +1 -1
  31. package/build/esm/external/lodash/_equalObjects.js +5 -4
  32. package/build/esm/external/lodash/_equalObjects.js.map +1 -1
  33. package/build/esm/external/lodash/_setCacheHas.js +1 -1
  34. package/build/esm/external/lodash/_trimmedEndIndex.js +22 -0
  35. package/build/esm/external/lodash/_trimmedEndIndex.js.map +1 -0
  36. package/build/esm/external/lodash/toNumber.js +2 -4
  37. package/build/esm/external/lodash/toNumber.js.map +1 -1
  38. package/build/esm/packages/phoenix/src/components/form/input_stepper/button_stepper.d.ts +1 -0
  39. package/build/esm/packages/phoenix/src/components/form/input_stepper/button_stepper.js +11 -6
  40. package/build/esm/packages/phoenix/src/components/form/input_stepper/button_stepper.js.map +1 -1
  41. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper.d.ts +2 -0
  42. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper.js +13 -1
  43. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper.js.map +1 -1
  44. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.d.ts +3 -0
  45. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js +4 -1
  46. package/build/esm/packages/phoenix/src/components/form/input_stepper/input_stepper_constants.js.map +1 -1
  47. package/build/esm/packages/phoenix/src/components/form/select/select.d.ts +1 -1
  48. package/build/esm/packages/phoenix/src/components/form/select/select.js +5 -5
  49. package/package.json +1 -1
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _baseTrim = require('../external/lodash/_baseTrim.js');
6
+
7
+
8
+
9
+ exports.default = _baseTrim['default'];
10
+ //# sourceMappingURL=_baseTrim.js_commonjs-proxy.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,iCAAqC;AAC7D;AACA;AACA;AACA;"}
@@ -0,0 +1,10 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _trimmedEndIndex = require('../external/lodash/_trimmedEndIndex.js');
6
+
7
+
8
+
9
+ exports.default = _trimmedEndIndex['default'];
10
+ //# sourceMappingURL=_trimmedEndIndex.js_commonjs-proxy.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,+BAA+B,wCAA4C;AAC3E;AACA;AACA;AACA;"}
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _trimmedEndIndex = require('./_trimmedEndIndex.js');
6
+
7
+ /** Used to match leading whitespace. */
8
+ var reTrimStart = /^\s+/;
9
+
10
+ /**
11
+ * The base implementation of `_.trim`.
12
+ *
13
+ * @private
14
+ * @param {string} string The string to trim.
15
+ * @returns {string} Returns the trimmed string.
16
+ */
17
+ function baseTrim(string) {
18
+ return string
19
+ ? string.slice(0, _trimmedEndIndex['default'](string) + 1).replace(reTrimStart, '')
20
+ : string;
21
+ }
22
+
23
+ var _baseTrim = baseTrim;
24
+
25
+ exports.default = _baseTrim;
26
+ //# sourceMappingURL=_baseTrim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -31,10 +31,11 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
31
31
  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
32
32
  return false;
33
33
  }
34
- // Assume cyclic values are equal.
35
- var stacked = stack.get(array);
36
- if (stacked && stack.get(other)) {
37
- return stacked == other;
34
+ // Check that cyclic values are equal.
35
+ var arrStacked = stack.get(array);
36
+ var othStacked = stack.get(other);
37
+ if (arrStacked && othStacked) {
38
+ return arrStacked == other && othStacked == array;
38
39
  }
39
40
  var index = -1,
40
41
  result = true,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -43,10 +43,11 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
43
43
  return false;
44
44
  }
45
45
  }
46
- // Assume cyclic values are equal.
47
- var stacked = stack.get(object);
48
- if (stacked && stack.get(other)) {
49
- return stacked == other;
46
+ // Check that cyclic values are equal.
47
+ var objStacked = stack.get(object);
48
+ var othStacked = stack.get(other);
49
+ if (objStacked && othStacked) {
50
+ return objStacked == other && othStacked == object;
50
51
  }
51
52
  var result = true;
52
53
  stack.set(object, other);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -9,7 +9,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
9
9
  * @name has
10
10
  * @memberOf SetCache
11
11
  * @param {*} value The value to search for.
12
- * @returns {number} Returns `true` if `value` is found, else `false`.
12
+ * @returns {boolean} Returns `true` if `value` is found, else `false`.
13
13
  */
14
14
  function setCacheHas(value) {
15
15
  return this.__data__.has(value);
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /** Used to match a single whitespace character. */
6
+ var reWhitespace = /\s/;
7
+
8
+ /**
9
+ * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
10
+ * character of `string`.
11
+ *
12
+ * @private
13
+ * @param {string} string The string to inspect.
14
+ * @returns {number} Returns the index of the last non-whitespace character.
15
+ */
16
+ function trimmedEndIndex(string) {
17
+ var index = string.length;
18
+
19
+ while (index-- && reWhitespace.test(string.charAt(index))) {}
20
+ return index;
21
+ }
22
+
23
+ var _trimmedEndIndex = trimmedEndIndex;
24
+
25
+ exports.default = _trimmedEndIndex;
26
+ //# sourceMappingURL=_trimmedEndIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -3,14 +3,12 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var isObject = require('./isObject.js');
6
+ var _baseTrim = require('./_baseTrim.js');
6
7
  var isSymbol = require('./isSymbol.js');
7
8
 
8
9
  /** Used as references for various `Number` constants. */
9
10
  var NAN = 0 / 0;
10
11
 
11
- /** Used to match leading and trailing whitespace. */
12
- var reTrim = /^\s+|\s+$/g;
13
-
14
12
  /** Used to detect bad signed hexadecimal string values. */
15
13
  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
16
14
 
@@ -60,7 +58,7 @@ function toNumber(value) {
60
58
  if (typeof value != 'string') {
61
59
  return value === 0 ? value : +value;
62
60
  }
63
- value = value.replace(reTrim, '');
61
+ value = _baseTrim['default'](value);
64
62
  var isBinary = reIsBinary.test(value);
65
63
  return (isBinary || reIsOctal.test(value))
66
64
  ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -21,9 +21,10 @@ exports.HButtonStepper = class HButtonStepper extends phoenix_light_lit_element.
21
21
  };
22
22
  this.type = '';
23
23
  this.disabled = false;
24
+ this.limitReached = false;
24
25
  this._dispatchStepperEvent = (ev) => {
25
26
  ev.stopImmediatePropagation();
26
- if (this.disabled)
27
+ if (this.disabled || this.limitReached)
27
28
  return;
28
29
  if (!this.type)
29
30
  throw new Error(`The type ${this.type} cannot be empty. Allowed values: 'increment', 'decrement'`);
@@ -39,10 +40,10 @@ exports.HButtonStepper = class HButtonStepper extends phoenix_light_lit_element.
39
40
  this.addEventListener(input_stepper_constants.INPUT_STEPPER_EVENT_NAMES.click, this._dispatchStepperEvent);
40
41
  }
41
42
  updated(changedProperties) {
42
- if (!changedProperties.has('disabled'))
43
- return;
44
- this.setAttribute('aria-disabled', String(this.disabled));
45
- this.disabled ? utilities.UiDomUtils.makeUnnavigable(this) : utilities.UiDomUtils.makeNavigable(this);
43
+ if (changedProperties.has('disabled')) {
44
+ this.disabled ? utilities.UiDomUtils.makeUnnavigable(this) : utilities.UiDomUtils.makeNavigable(this);
45
+ }
46
+ this.setAttribute('aria-disabled', String(this.disabled || this.limitReached));
46
47
  }
47
48
  };
48
49
  tslib_es6.__decorate([
@@ -53,6 +54,10 @@ tslib_es6.__decorate([
53
54
  decorators.property({ type: Boolean, reflect: true }),
54
55
  tslib_es6.__metadata("design:type", Boolean)
55
56
  ], exports.HButtonStepper.prototype, "disabled", void 0);
57
+ tslib_es6.__decorate([
58
+ decorators.property({ type: Boolean, attribute: input_stepper_constants.INPUT_STEPPER_ATTRIBUTE_NAMES.limitReached }),
59
+ tslib_es6.__metadata("design:type", Boolean)
60
+ ], exports.HButtonStepper.prototype, "limitReached", void 0);
56
61
  exports.HButtonStepper = tslib_es6.__decorate([
57
62
  phoenix_custom_element.phoenixCustomElement(input_stepper_constants.INPUT_STEPPER_COMPONENT_NAMES.button),
58
63
  tslib_es6.__metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -23,6 +23,7 @@ exports.HInputStepper = class HInputStepper extends phoenix_light_lit_element.Ph
23
23
  this.max = Infinity;
24
24
  this.step = 1;
25
25
  this.disabled = false;
26
+ this.disableButtonsAtLimits = false;
26
27
  this.increment = () => {
27
28
  if (this.disabled)
28
29
  return;
@@ -120,11 +121,18 @@ exports.HInputStepper = class HInputStepper extends phoenix_light_lit_element.Ph
120
121
  _outsideRangeEdges(number) {
121
122
  return number > this.max || number < this.min;
122
123
  }
124
+ _markButtonsAtLimit() {
125
+ this.querySelectorAll(input_stepper_constants.INPUT_STEPPER_COMPONENT_NAMES.button).forEach(($button) => {
126
+ const isAtLimit = $button.getAttribute('type') === 'decrement' ? this.value <= this.min : this.value >= this.max;
127
+ $button.toggleAttribute(input_stepper_constants.INPUT_STEPPER_ATTRIBUTE_NAMES.limitReached, this.disableButtonsAtLimits && isAtLimit);
128
+ });
129
+ }
123
130
  updated(changedProperties) {
124
131
  var _a;
125
132
  if (changedProperties.has('disabled')) {
126
133
  this.classList.toggle(input_stepper_constants.INPUT_STEPPER_CLASS_NAMES.inputStepperDisabled, this.disabled);
127
134
  }
135
+ this._markButtonsAtLimit();
128
136
  if (this._outsideRangeEdges(this.value))
129
137
  return;
130
138
  const digits = (_a = this.allowedFractionDigits) !== null && _a !== void 0 ? _a : this._calculateFractionDigitsByStepSize(this.step);
@@ -164,6 +172,10 @@ tslib_es6.__decorate([
164
172
  decorators.property({ type: Boolean, reflect: true }),
165
173
  tslib_es6.__metadata("design:type", Boolean)
166
174
  ], exports.HInputStepper.prototype, "disabled", void 0);
175
+ tslib_es6.__decorate([
176
+ decorators.property({ type: Boolean, attribute: 'disable-buttons-at-limits' }),
177
+ tslib_es6.__metadata("design:type", Boolean)
178
+ ], exports.HInputStepper.prototype, "disableButtonsAtLimits", void 0);
167
179
  exports.HInputStepper = tslib_es6.__decorate([
168
180
  phoenix_custom_element.phoenixCustomElement(input_stepper_constants.INPUT_STEPPER_COMPONENT_NAMES.control),
169
181
  tslib_es6.__metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,wBAAwB,+CAAmD;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -21,6 +21,9 @@ const INPUT_STEPPER_COMPONENT_NAMES = {
21
21
  input: 'h-display-stepper',
22
22
  button: 'h-button-stepper'
23
23
  };
24
+ const INPUT_STEPPER_ATTRIBUTE_NAMES = {
25
+ limitReached: 'limit-reached'
26
+ };
24
27
  const INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES = {
25
28
  stepperContext: 'stepperContext'
26
29
  };
@@ -28,6 +31,7 @@ const INPUT_STEPPER_PROPS_TO_SYNC = {
28
31
  disabled: 'disabled'
29
32
  };
30
33
 
34
+ exports.INPUT_STEPPER_ATTRIBUTE_NAMES = INPUT_STEPPER_ATTRIBUTE_NAMES;
31
35
  exports.INPUT_STEPPER_CLASS_NAMES = INPUT_STEPPER_CLASS_NAMES;
32
36
  exports.INPUT_STEPPER_COMPONENT_NAMES = INPUT_STEPPER_COMPONENT_NAMES;
33
37
  exports.INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES = INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES;
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -43,7 +43,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
43
43
  this.noDeselect = false;
44
44
  this.assistiveTitleId = '';
45
45
  this.noPlaceholderOption = false;
46
- this.cachedOptions = false;
46
+ this.devCachedSelectOptions = false;
47
47
  this.translations = {};
48
48
  this._selectOptionsId = v4['default']();
49
49
  this._searchValue = '';
@@ -73,7 +73,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
73
73
  this._getOptions = () => {
74
74
  let $options;
75
75
  if (this.optionsList) {
76
- if (this.cachedOptions) {
76
+ if (this.devCachedSelectOptions) {
77
77
  $options = [...this.optionsList].map((option) => select_utils.SelectControlUtils.createHTMLOption(select_option.SelectOption.create(option)));
78
78
  if (!this.required && !this.multiple) {
79
79
  const $domPlaceholder = this.querySelector('h-option[placeholder]');
@@ -222,7 +222,7 @@ exports.HSelect = class HSelect extends phoenix_light_lit_element.PhoenixLightLi
222
222
  if (changedProperties.has('opened')) {
223
223
  if (this.opened) {
224
224
  this.classList.add(select_constants.SELECT_CSS_CLASSES.selectOpened);
225
- this.cachedOptions ? this._focusElementAfterSelectOpenedAsync() : this._focusElementAfterSelectOpened();
225
+ this.devCachedSelectOptions ? this._focusElementAfterSelectOpenedAsync() : this._focusElementAfterSelectOpened();
226
226
  }
227
227
  else {
228
228
  this.classList.remove(select_constants.SELECT_CSS_CLASSES.selectOpened);
@@ -644,9 +644,9 @@ tslib_es6.__decorate([
644
644
  tslib_es6.__metadata("design:type", Boolean)
645
645
  ], exports.HSelect.prototype, "noPlaceholderOption", void 0);
646
646
  tslib_es6.__decorate([
647
- decorators_js.property({ type: Boolean, attribute: 'cached-options' }),
647
+ decorators_js.property({ type: Boolean, attribute: 'dev_cached_select_options' }),
648
648
  tslib_es6.__metadata("design:type", Boolean)
649
- ], exports.HSelect.prototype, "cachedOptions", void 0);
649
+ ], exports.HSelect.prototype, "devCachedSelectOptions", void 0);
650
650
  tslib_es6.__decorate([
651
651
  decorators_js.property({
652
652
  converter: {
@@ -0,0 +1,3 @@
1
+ import _baseTrim from '../external/lodash/_baseTrim.js';
2
+ export { default } from '../external/lodash/_baseTrim.js';
3
+ //# sourceMappingURL=_baseTrim.js_commonjs-proxy.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,sBAAsB,iCAAqC;AAC3D,wBAAwB,iCAAqC;"}
@@ -0,0 +1,3 @@
1
+ import _trimmedEndIndex from '../external/lodash/_trimmedEndIndex.js';
2
+ export { default } from '../external/lodash/_trimmedEndIndex.js';
3
+ //# sourceMappingURL=_trimmedEndIndex.js_commonjs-proxy.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,6BAA6B,wCAA4C;AACzE,wBAAwB,wCAA4C;"}
@@ -0,0 +1,22 @@
1
+ import _trimmedEndIndex from './_trimmedEndIndex.js';
2
+
3
+ /** Used to match leading whitespace. */
4
+ var reTrimStart = /^\s+/;
5
+
6
+ /**
7
+ * The base implementation of `_.trim`.
8
+ *
9
+ * @private
10
+ * @param {string} string The string to trim.
11
+ * @returns {string} Returns the trimmed string.
12
+ */
13
+ function baseTrim(string) {
14
+ return string
15
+ ? string.slice(0, _trimmedEndIndex(string) + 1).replace(reTrimStart, '')
16
+ : string;
17
+ }
18
+
19
+ var _baseTrim = baseTrim;
20
+
21
+ export default _baseTrim;
22
+ //# sourceMappingURL=_baseTrim.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -27,10 +27,11 @@ function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {
27
27
  if (arrLength != othLength && !(isPartial && othLength > arrLength)) {
28
28
  return false;
29
29
  }
30
- // Assume cyclic values are equal.
31
- var stacked = stack.get(array);
32
- if (stacked && stack.get(other)) {
33
- return stacked == other;
30
+ // Check that cyclic values are equal.
31
+ var arrStacked = stack.get(array);
32
+ var othStacked = stack.get(other);
33
+ if (arrStacked && othStacked) {
34
+ return arrStacked == other && othStacked == array;
34
35
  }
35
36
  var index = -1,
36
37
  result = true,
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -39,10 +39,11 @@ function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {
39
39
  return false;
40
40
  }
41
41
  }
42
- // Assume cyclic values are equal.
43
- var stacked = stack.get(object);
44
- if (stacked && stack.get(other)) {
45
- return stacked == other;
42
+ // Check that cyclic values are equal.
43
+ var objStacked = stack.get(object);
44
+ var othStacked = stack.get(other);
45
+ if (objStacked && othStacked) {
46
+ return objStacked == other && othStacked == object;
46
47
  }
47
48
  var result = true;
48
49
  stack.set(object, other);
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -5,7 +5,7 @@
5
5
  * @name has
6
6
  * @memberOf SetCache
7
7
  * @param {*} value The value to search for.
8
- * @returns {number} Returns `true` if `value` is found, else `false`.
8
+ * @returns {boolean} Returns `true` if `value` is found, else `false`.
9
9
  */
10
10
  function setCacheHas(value) {
11
11
  return this.__data__.has(value);
@@ -0,0 +1,22 @@
1
+ /** Used to match a single whitespace character. */
2
+ var reWhitespace = /\s/;
3
+
4
+ /**
5
+ * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace
6
+ * character of `string`.
7
+ *
8
+ * @private
9
+ * @param {string} string The string to inspect.
10
+ * @returns {number} Returns the index of the last non-whitespace character.
11
+ */
12
+ function trimmedEndIndex(string) {
13
+ var index = string.length;
14
+
15
+ while (index-- && reWhitespace.test(string.charAt(index))) {}
16
+ return index;
17
+ }
18
+
19
+ var _trimmedEndIndex = trimmedEndIndex;
20
+
21
+ export default _trimmedEndIndex;
22
+ //# sourceMappingURL=_trimmedEndIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,12 +1,10 @@
1
1
  import isObject_1 from './isObject.js';
2
+ import _baseTrim from './_baseTrim.js';
2
3
  import isSymbol_1 from './isSymbol.js';
3
4
 
4
5
  /** Used as references for various `Number` constants. */
5
6
  var NAN = 0 / 0;
6
7
 
7
- /** Used to match leading and trailing whitespace. */
8
- var reTrim = /^\s+|\s+$/g;
9
-
10
8
  /** Used to detect bad signed hexadecimal string values. */
11
9
  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
12
10
 
@@ -56,7 +54,7 @@ function toNumber(value) {
56
54
  if (typeof value != 'string') {
57
55
  return value === 0 ? value : +value;
58
56
  }
59
- value = value.replace(reTrim, '');
57
+ value = _baseTrim(value);
60
58
  var isBinary = reIsBinary.test(value);
61
59
  return (isBinary || reIsOctal.test(value))
62
60
  ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -5,6 +5,7 @@ export declare class HButtonStepper extends PhoenixLightLitElement {
5
5
  private _allowedEvents;
6
6
  type: string;
7
7
  disabled: boolean;
8
+ limitReached: boolean;
8
9
  constructor();
9
10
  connectedCallback(): void;
10
11
  updated(changedProperties: PropertyValues): void;
@@ -6,7 +6,7 @@ import { PhoenixLightLitElement } from '../../../core/phoenix_light_lit_element/
6
6
  import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_element.js';
7
7
  import { BtnController } from '../../../controllers/btn_controller/btn_controller.js';
8
8
  import { ControlPropsSyncConsumerController } from '../controllers/props_synchronizing/control_props_sync_consumer_controller.js';
9
- import { INPUT_STEPPER_CUSTOM_EVENT_NAMES, INPUT_STEPPER_EVENT_NAMES, INPUT_STEPPER_COMPONENT_NAMES } from './input_stepper_constants.js';
9
+ import { INPUT_STEPPER_CUSTOM_EVENT_NAMES, INPUT_STEPPER_EVENT_NAMES, INPUT_STEPPER_ATTRIBUTE_NAMES, INPUT_STEPPER_COMPONENT_NAMES } from './input_stepper_constants.js';
10
10
 
11
11
  let HButtonStepper = class HButtonStepper extends PhoenixLightLitElement {
12
12
  constructor() {
@@ -17,9 +17,10 @@ let HButtonStepper = class HButtonStepper extends PhoenixLightLitElement {
17
17
  };
18
18
  this.type = '';
19
19
  this.disabled = false;
20
+ this.limitReached = false;
20
21
  this._dispatchStepperEvent = (ev) => {
21
22
  ev.stopImmediatePropagation();
22
- if (this.disabled)
23
+ if (this.disabled || this.limitReached)
23
24
  return;
24
25
  if (!this.type)
25
26
  throw new Error(`The type ${this.type} cannot be empty. Allowed values: 'increment', 'decrement'`);
@@ -35,10 +36,10 @@ let HButtonStepper = class HButtonStepper extends PhoenixLightLitElement {
35
36
  this.addEventListener(INPUT_STEPPER_EVENT_NAMES.click, this._dispatchStepperEvent);
36
37
  }
37
38
  updated(changedProperties) {
38
- if (!changedProperties.has('disabled'))
39
- return;
40
- this.setAttribute('aria-disabled', String(this.disabled));
41
- this.disabled ? UiDomUtils.makeUnnavigable(this) : UiDomUtils.makeNavigable(this);
39
+ if (changedProperties.has('disabled')) {
40
+ this.disabled ? UiDomUtils.makeUnnavigable(this) : UiDomUtils.makeNavigable(this);
41
+ }
42
+ this.setAttribute('aria-disabled', String(this.disabled || this.limitReached));
42
43
  }
43
44
  };
44
45
  __decorate([
@@ -49,6 +50,10 @@ __decorate([
49
50
  property({ type: Boolean, reflect: true }),
50
51
  __metadata("design:type", Boolean)
51
52
  ], HButtonStepper.prototype, "disabled", void 0);
53
+ __decorate([
54
+ property({ type: Boolean, attribute: INPUT_STEPPER_ATTRIBUTE_NAMES.limitReached }),
55
+ __metadata("design:type", Boolean)
56
+ ], HButtonStepper.prototype, "limitReached", void 0);
52
57
  HButtonStepper = __decorate([
53
58
  phoenixCustomElement(INPUT_STEPPER_COMPONENT_NAMES.button),
54
59
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -12,6 +12,7 @@ export declare class HInputStepper extends PhoenixLightLitElement {
12
12
  max: number;
13
13
  step: number;
14
14
  disabled: boolean;
15
+ disableButtonsAtLimits: boolean;
15
16
  constructor();
16
17
  connectedCallback(): void;
17
18
  disconnectedCallback(): void;
@@ -23,6 +24,7 @@ export declare class HInputStepper extends PhoenixLightLitElement {
23
24
  private _calculateFractionDigitsByStepSize;
24
25
  private _roundToFractionDigits;
25
26
  private _outsideRangeEdges;
27
+ private _markButtonsAtLimit;
26
28
  private _dispatchChangedValue;
27
29
  updated(changedProperties: PropertyValues): void;
28
30
  }
@@ -6,7 +6,7 @@ import { phoenixCustomElement } from '../../../core/decorators/phoenix_custom_el
6
6
  import { BehaviorSubject } from '../../../core/classes/behavior_subject/behavior_subject.js';
7
7
  import { ContextProviderController } from '../../../core/context/context_provider_controller.js';
8
8
  import { ControlPropsSyncProviderController } from '../controllers/props_synchronizing/control_props_sync_provider_controller.js';
9
- import { INPUT_STEPPER_CUSTOM_EVENT_NAMES, INPUT_STEPPER_PROPS_TO_SYNC, INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES, INPUT_STEPPER_CLASS_NAMES, INPUT_STEPPER_COMPONENT_NAMES } from './input_stepper_constants.js';
9
+ import { INPUT_STEPPER_CUSTOM_EVENT_NAMES, INPUT_STEPPER_PROPS_TO_SYNC, INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES, INPUT_STEPPER_COMPONENT_NAMES, INPUT_STEPPER_ATTRIBUTE_NAMES, INPUT_STEPPER_CLASS_NAMES } from './input_stepper_constants.js';
10
10
 
11
11
  let HInputStepper = class HInputStepper extends PhoenixLightLitElement {
12
12
  constructor() {
@@ -19,6 +19,7 @@ let HInputStepper = class HInputStepper extends PhoenixLightLitElement {
19
19
  this.max = Infinity;
20
20
  this.step = 1;
21
21
  this.disabled = false;
22
+ this.disableButtonsAtLimits = false;
22
23
  this.increment = () => {
23
24
  if (this.disabled)
24
25
  return;
@@ -116,11 +117,18 @@ let HInputStepper = class HInputStepper extends PhoenixLightLitElement {
116
117
  _outsideRangeEdges(number) {
117
118
  return number > this.max || number < this.min;
118
119
  }
120
+ _markButtonsAtLimit() {
121
+ this.querySelectorAll(INPUT_STEPPER_COMPONENT_NAMES.button).forEach(($button) => {
122
+ const isAtLimit = $button.getAttribute('type') === 'decrement' ? this.value <= this.min : this.value >= this.max;
123
+ $button.toggleAttribute(INPUT_STEPPER_ATTRIBUTE_NAMES.limitReached, this.disableButtonsAtLimits && isAtLimit);
124
+ });
125
+ }
119
126
  updated(changedProperties) {
120
127
  var _a;
121
128
  if (changedProperties.has('disabled')) {
122
129
  this.classList.toggle(INPUT_STEPPER_CLASS_NAMES.inputStepperDisabled, this.disabled);
123
130
  }
131
+ this._markButtonsAtLimit();
124
132
  if (this._outsideRangeEdges(this.value))
125
133
  return;
126
134
  const digits = (_a = this.allowedFractionDigits) !== null && _a !== void 0 ? _a : this._calculateFractionDigitsByStepSize(this.step);
@@ -160,6 +168,10 @@ __decorate([
160
168
  property({ type: Boolean, reflect: true }),
161
169
  __metadata("design:type", Boolean)
162
170
  ], HInputStepper.prototype, "disabled", void 0);
171
+ __decorate([
172
+ property({ type: Boolean, attribute: 'disable-buttons-at-limits' }),
173
+ __metadata("design:type", Boolean)
174
+ ], HInputStepper.prototype, "disableButtonsAtLimits", void 0);
163
175
  HInputStepper = __decorate([
164
176
  phoenixCustomElement(INPUT_STEPPER_COMPONENT_NAMES.control),
165
177
  __metadata("design:paramtypes", [])
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA,uCAAuC,+CAAmD;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -17,6 +17,9 @@ export declare const INPUT_STEPPER_COMPONENT_NAMES: {
17
17
  readonly input: "h-display-stepper";
18
18
  readonly button: "h-button-stepper";
19
19
  };
20
+ export declare const INPUT_STEPPER_ATTRIBUTE_NAMES: {
21
+ readonly limitReached: "limit-reached";
22
+ };
20
23
  export declare const INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES: {
21
24
  readonly stepperContext: "stepperContext";
22
25
  };
@@ -17,6 +17,9 @@ const INPUT_STEPPER_COMPONENT_NAMES = {
17
17
  input: 'h-display-stepper',
18
18
  button: 'h-button-stepper'
19
19
  };
20
+ const INPUT_STEPPER_ATTRIBUTE_NAMES = {
21
+ limitReached: 'limit-reached'
22
+ };
20
23
  const INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES = {
21
24
  stepperContext: 'stepperContext'
22
25
  };
@@ -24,5 +27,5 @@ const INPUT_STEPPER_PROPS_TO_SYNC = {
24
27
  disabled: 'disabled'
25
28
  };
26
29
 
27
- export { INPUT_STEPPER_CLASS_NAMES, INPUT_STEPPER_COMPONENT_NAMES, INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES, INPUT_STEPPER_CUSTOM_EVENT_NAMES, INPUT_STEPPER_EVENT_NAMES, INPUT_STEPPER_PROPS_TO_SYNC };
30
+ export { INPUT_STEPPER_ATTRIBUTE_NAMES, INPUT_STEPPER_CLASS_NAMES, INPUT_STEPPER_COMPONENT_NAMES, INPUT_STEPPER_CONTEXTS_VARIABLE_NAMES, INPUT_STEPPER_CUSTOM_EVENT_NAMES, INPUT_STEPPER_EVENT_NAMES, INPUT_STEPPER_PROPS_TO_SYNC };
28
31
  //# sourceMappingURL=input_stepper_constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -24,7 +24,7 @@ export declare class HSelect extends PhoenixLightLitElement {
24
24
  noDeselect: boolean;
25
25
  assistiveTitleId: string;
26
26
  noPlaceholderOption: boolean;
27
- cachedOptions: boolean;
27
+ devCachedSelectOptions: boolean;
28
28
  translations: Record<string, string>;
29
29
  private _selectOptionsId;
30
30
  get selectedIndex(): number;
@@ -39,7 +39,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
39
39
  this.noDeselect = false;
40
40
  this.assistiveTitleId = '';
41
41
  this.noPlaceholderOption = false;
42
- this.cachedOptions = false;
42
+ this.devCachedSelectOptions = false;
43
43
  this.translations = {};
44
44
  this._selectOptionsId = v4();
45
45
  this._searchValue = '';
@@ -69,7 +69,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
69
69
  this._getOptions = () => {
70
70
  let $options;
71
71
  if (this.optionsList) {
72
- if (this.cachedOptions) {
72
+ if (this.devCachedSelectOptions) {
73
73
  $options = [...this.optionsList].map((option) => SelectControlUtils.createHTMLOption(SelectOption.create(option)));
74
74
  if (!this.required && !this.multiple) {
75
75
  const $domPlaceholder = this.querySelector('h-option[placeholder]');
@@ -218,7 +218,7 @@ let HSelect = class HSelect extends PhoenixLightLitElement {
218
218
  if (changedProperties.has('opened')) {
219
219
  if (this.opened) {
220
220
  this.classList.add(SELECT_CSS_CLASSES.selectOpened);
221
- this.cachedOptions ? this._focusElementAfterSelectOpenedAsync() : this._focusElementAfterSelectOpened();
221
+ this.devCachedSelectOptions ? this._focusElementAfterSelectOpenedAsync() : this._focusElementAfterSelectOpened();
222
222
  }
223
223
  else {
224
224
  this.classList.remove(SELECT_CSS_CLASSES.selectOpened);
@@ -640,9 +640,9 @@ __decorate([
640
640
  __metadata("design:type", Boolean)
641
641
  ], HSelect.prototype, "noPlaceholderOption", void 0);
642
642
  __decorate([
643
- property({ type: Boolean, attribute: 'cached-options' }),
643
+ property({ type: Boolean, attribute: 'dev_cached_select_options' }),
644
644
  __metadata("design:type", Boolean)
645
- ], HSelect.prototype, "cachedOptions", void 0);
645
+ ], HSelect.prototype, "devCachedSelectOptions", void 0);
646
646
  __decorate([
647
647
  property({
648
648
  converter: {
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@shoper/phoenix_design_system",
3
3
  "packageManager": "yarn@3.2.0",
4
4
  "sideEffects": false,
5
- "version": "1.18.43-4",
5
+ "version": "1.18.44",
6
6
  "description": "phoenix design system",
7
7
  "author": "zefirek",
8
8
  "license": "MIT",