@progress/kendo-react-inputs 9.4.0-develop.2 → 9.4.0-develop.20

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 (105) hide show
  1. package/NOTICE.txt +40 -51
  2. package/checkbox/Checkbox.js +1 -1
  3. package/checkbox/Checkbox.mjs +0 -1
  4. package/colors/ColorContrastLabels.js +1 -1
  5. package/colors/ColorContrastLabels.mjs +2 -3
  6. package/colors/ColorContrastSvg.js +1 -1
  7. package/colors/ColorContrastSvg.mjs +11 -12
  8. package/colors/ColorGradient.js +1 -1
  9. package/colors/ColorGradient.mjs +85 -75
  10. package/colors/ColorInput.js +1 -1
  11. package/colors/ColorInput.mjs +55 -45
  12. package/colors/ColorPalette.js +1 -1
  13. package/colors/ColorPalette.mjs +55 -47
  14. package/colors/ColorPicker.js +1 -1
  15. package/colors/ColorPicker.mjs +312 -183
  16. package/colors/FlatColorPicker.js +1 -1
  17. package/colors/FlatColorPicker.mjs +224 -139
  18. package/colors/HexInput.js +1 -1
  19. package/colors/HexInput.mjs +10 -9
  20. package/colors/Picker.js +1 -1
  21. package/colors/Picker.mjs +22 -23
  22. package/colors/models/palette-presets.js +1 -1
  23. package/colors/models/palette-presets.mjs +1 -2
  24. package/colors/utils/color-cache.js +1 -1
  25. package/colors/utils/color-cache.mjs +12 -13
  26. package/colors/utils/color-palette.service.js +1 -1
  27. package/colors/utils/color-palette.service.mjs +0 -1
  28. package/colors/utils/color-parser.js +1 -1
  29. package/colors/utils/color-parser.mjs +5 -6
  30. package/colors/utils/misc.js +1 -1
  31. package/colors/utils/misc.mjs +0 -1
  32. package/colors/utils/svg-calc.js +1 -1
  33. package/colors/utils/svg-calc.mjs +9 -10
  34. package/common/AdaptiveMode.js +8 -0
  35. package/common/AdaptiveMode.mjs +73 -0
  36. package/dist/cdn/js/kendo-react-inputs.js +8 -1
  37. package/index.d.mts +118 -10
  38. package/index.d.ts +118 -10
  39. package/index.js +2 -1
  40. package/index.mjs +4 -4
  41. package/input/Input.js +1 -1
  42. package/input/Input.mjs +8 -9
  43. package/input/InputClearValue.js +1 -1
  44. package/input/InputClearValue.mjs +3 -4
  45. package/input/InputPrefix.js +1 -1
  46. package/input/InputPrefix.mjs +4 -5
  47. package/input/InputSeparator.js +1 -1
  48. package/input/InputSeparator.mjs +8 -9
  49. package/input/InputSuffix.js +1 -1
  50. package/input/InputSuffix.mjs +4 -5
  51. package/input/InputValidationIcon.js +1 -1
  52. package/input/InputValidationIcon.mjs +3 -4
  53. package/maskedtextbox/MaskedTextBox.js +1 -1
  54. package/maskedtextbox/MaskedTextBox.mjs +0 -1
  55. package/maskedtextbox/masking.service.js +1 -1
  56. package/maskedtextbox/masking.service.mjs +0 -1
  57. package/maskedtextbox/parsing/combinators.js +1 -1
  58. package/maskedtextbox/parsing/combinators.mjs +8 -9
  59. package/maskedtextbox/parsing/parsers.js +1 -1
  60. package/maskedtextbox/parsing/parsers.mjs +0 -1
  61. package/maskedtextbox/parsing/result.js +1 -1
  62. package/maskedtextbox/parsing/result.mjs +7 -8
  63. package/maskedtextbox/parsing/stream.js +1 -1
  64. package/maskedtextbox/parsing/stream.mjs +0 -1
  65. package/maskedtextbox/utils.js +1 -1
  66. package/maskedtextbox/utils.mjs +11 -12
  67. package/messages/index.js +1 -1
  68. package/messages/index.mjs +39 -38
  69. package/numerictextbox/NumericTextBox.js +1 -1
  70. package/numerictextbox/NumericTextBox.mjs +0 -1
  71. package/numerictextbox/utils/index.js +1 -1
  72. package/numerictextbox/utils/index.mjs +0 -1
  73. package/package-metadata.js +1 -1
  74. package/package-metadata.mjs +2 -3
  75. package/package.json +9 -9
  76. package/radiobutton/RadioButton.js +1 -1
  77. package/radiobutton/RadioButton.mjs +0 -1
  78. package/radiobutton/RadioGroup.js +1 -1
  79. package/radiobutton/RadioGroup.mjs +0 -1
  80. package/range-slider/RangeSlider.js +1 -1
  81. package/range-slider/RangeSlider.mjs +0 -1
  82. package/range-slider/range-raducer.js +1 -1
  83. package/range-slider/range-raducer.mjs +2 -3
  84. package/rating/Rating.js +1 -1
  85. package/rating/Rating.mjs +0 -1
  86. package/rating/RatingItem.js +1 -1
  87. package/rating/RatingItem.mjs +0 -1
  88. package/rating/rating-reducer.js +1 -1
  89. package/rating/rating-reducer.mjs +0 -1
  90. package/rating/utils/index.js +1 -1
  91. package/rating/utils/index.mjs +0 -1
  92. package/signature/Signature.js +1 -1
  93. package/signature/Signature.mjs +0 -1
  94. package/signature/utils/index.js +1 -1
  95. package/signature/utils/index.mjs +3 -4
  96. package/slider/Slider.js +1 -1
  97. package/slider/Slider.mjs +0 -1
  98. package/slider/SliderLabel.js +1 -1
  99. package/slider/SliderLabel.mjs +3 -4
  100. package/switch/Switch.js +1 -1
  101. package/switch/Switch.mjs +0 -1
  102. package/textarea/TextArea.js +1 -1
  103. package/textarea/TextArea.mjs +0 -1
  104. package/textbox/Textbox.js +1 -1
  105. package/textbox/Textbox.mjs +7 -8
@@ -5,36 +5,35 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- import * as r from "react";
10
- import o from "prop-types";
11
- import { validatePackage as L, Navigation as m, getActiveElement as u, disableNavigatableContainer as C, keepFocusInContainer as F, TABBABLE_ELEMENTS as G, focusFirstFocusableChild as A, enableNavigatableContainer as N, getTabIndex as S, classNames as I, Draggable as T, createPropsContext as M, withIdHOC as _, withPropsContext as B } from "@progress/kendo-react-common";
12
- import { packageMetadata as P } from "../package-metadata.mjs";
13
- import { Slider as k } from "../slider/Slider.mjs";
8
+ import * as o from "react";
9
+ import r from "prop-types";
10
+ import { validatePackage as L, Navigation as f, getActiveElement as u, disableNavigatableContainer as C, keepFocusInContainer as F, TABBABLE_ELEMENTS as G, focusFirstFocusableChild as A, enableNavigatableContainer as N, getTabIndex as k, classNames as I, kendoThemeMaps as M, Draggable as _, createPropsContext as T, withIdHOC as B, withPropsContext as P } from "@progress/kendo-react-common";
11
+ import { packageMetadata as V } from "../package-metadata.mjs";
12
+ import { Slider as S } from "../slider/Slider.mjs";
14
13
  import { isPresent as R, fitIntoBounds as y } from "./utils/misc.mjs";
15
- import { getHSV as b, getColorFromHue as c, getRGBA as p, getColorFromRGBA as V, parseColor as d, getColorFromHSV as K } from "./utils/color-parser.mjs";
16
- import { cacheHex as U, cacheRgba as O, removeCachedColor as W, cacheHsva as $, getCachedHsva as j, getCachedRgba as X, getCachedHex as Y } from "./utils/color-cache.mjs";
17
- import z from "./ColorInput.mjs";
18
- import { ColorContrastLabels as q } from "./ColorContrastLabels.mjs";
19
- import { ColorContrastSvg as J } from "./ColorContrastSvg.mjs";
20
- import { provideLocalizationService as Q } from "@progress/kendo-react-intl";
14
+ import { getHSV as b, getColorFromHue as p, getRGBA as c, getColorFromRGBA as K, parseColor as d, getColorFromHSV as U } from "./utils/color-parser.mjs";
15
+ import { cacheHex as z, cacheRgba as O, removeCachedColor as $, cacheHsva as W, getCachedHsva as j, getCachedRgba as X, getCachedHex as Y } from "./utils/color-cache.mjs";
16
+ import q from "./ColorInput.mjs";
17
+ import { ColorContrastLabels as J } from "./ColorContrastLabels.mjs";
18
+ import { ColorContrastSvg as Q } from "./ColorContrastSvg.mjs";
19
+ import { provideLocalizationService as Z } from "@progress/kendo-react-intl";
21
20
  import { colorGradientHueSliderLabel as E, messages as x, colorGradientAlphaSliderLabel as H } from "../messages/index.mjs";
22
- const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extends r.Component {
21
+ const ee = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extends o.Component {
23
22
  constructor(t) {
24
- super(t), this.wrapperRef = r.createRef(), this.hsvGradientRef = r.createRef(), this.focus = () => {
23
+ super(t), this.wrapperRef = o.createRef(), this.hsvGradientRef = o.createRef(), this.focus = () => {
25
24
  this.wrapperRef && this.wrapperRef.current && this.wrapperRef.current.focus();
26
25
  }, this.onHexChange = (e, s, i) => {
27
26
  if (this.isUncontrolled) {
28
27
  const n = b(s);
29
- this.setState({ hsva: n, backgroundColor: c(n.h), rgba: p(s), hex: e });
28
+ this.setState({ hsva: n, backgroundColor: p(n.h), rgba: c(s), hex: e });
30
29
  } else
31
- U(this.state.guid, s, e);
30
+ z(this.state.guid, s, e);
32
31
  this.dispatchChangeEvent(s, i, i.nativeEvent);
33
32
  }, this.onRgbaChange = (e, s) => {
34
- const i = V(e);
33
+ const i = K(e);
35
34
  if (this.isUncontrolled) {
36
35
  const n = b(i), l = d(i, "hex");
37
- this.setState({ hsva: n, backgroundColor: c(n.h), rgba: e, hex: l });
36
+ this.setState({ hsva: n, backgroundColor: p(n.h), rgba: e, hex: l });
38
37
  } else
39
38
  O(this.state.guid, i, e);
40
39
  this.dispatchChangeEvent(i, s.syntheticEvent, s.nativeEvent);
@@ -70,8 +69,8 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
70
69
  }, this.onKeyDown = (e) => {
71
70
  var s;
72
71
  (s = this.navigation) == null || s.triggerKeyboardEvent(e);
73
- }, L(P);
74
- const a = t.value || t.defaultValue || d(w, Z);
72
+ }, L(V);
73
+ const a = t.value || t.defaultValue || d(w, ee);
75
74
  this.state = Object.assign({}, h.getStateFromValue(a), {
76
75
  isFirstRender: !0,
77
76
  guid: this.props.id
@@ -89,7 +88,7 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
89
88
  componentDidMount() {
90
89
  if (this.setAlphaSliderBackground(this.state.backgroundColor), this.state.isFirstRender && this.setState({ isFirstRender: !1 }), this.wrapperRef && this.hsvGradientRef) {
91
90
  let t = 0, a = 0;
92
- this.hsvNavigation = new m({
91
+ this.hsvNavigation = new f({
93
92
  tabIndex: 0,
94
93
  root: this.hsvGradientRef,
95
94
  selectors: [".k-hsv-rectangle .k-hsv-draghandle"],
@@ -111,7 +110,7 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
111
110
  }
112
111
  });
113
112
  }
114
- this.wrapperRef && this.wrapperRef.current && (this.props.isInsidePopup ? this.hsvGradientRef.current && this.hsvGradientRef.current.focus() : this.navigation = new m({
113
+ this.wrapperRef && this.wrapperRef.current && (this.props.isInsidePopup ? this.hsvGradientRef.current && this.hsvGradientRef.current.focus() : this.navigation = new f({
115
114
  tabIndex: 0,
116
115
  root: this.wrapperRef,
117
116
  selectors: [".k-colorgradient"],
@@ -134,7 +133,7 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
134
133
  * @hidden
135
134
  */
136
135
  componentWillUnmount() {
137
- W(this.state.guid);
136
+ $(this.state.guid);
138
137
  }
139
138
  /**
140
139
  * @hidden
@@ -151,12 +150,12 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
151
150
  const a = this.getGradientRectMetrics(), e = (1 - this.state.hsva.v) * a.height, s = this.state.hsva.s * a.width;
152
151
  t.top = `${e}px`, t.left = `${s}px`;
153
152
  }
154
- return /* @__PURE__ */ r.createElement(
153
+ return /* @__PURE__ */ o.createElement(
155
154
  "div",
156
155
  {
157
156
  ref: this.hsvGradientRef,
158
157
  role: "slider",
159
- tabIndex: S(this.props.tabIndex, this.props.disabled),
158
+ tabIndex: k(this.props.tabIndex, this.props.disabled),
160
159
  "aria-valuetext": this.props.ariaValueText,
161
160
  "aria-valuenow": parseInt(this.state.hex.substring(1), 16),
162
161
  "aria-label": this.props.ariaLabelHSV,
@@ -182,8 +181,8 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
182
181
  * @hidden
183
182
  */
184
183
  handleHsvaChange(t, a, e) {
185
- const s = K(t), i = d(s, "hex");
186
- this.isUncontrolled || $(this.state.guid, s, t), this.setState({ hsva: t, backgroundColor: c(t.h), rgba: p(s), hex: i }), this.dispatchChangeEvent(s, a, e);
184
+ const s = U(t), i = d(s, "hex");
185
+ this.isUncontrolled || W(this.state.guid, s, t), this.setState({ hsva: t, backgroundColor: p(t.h), rgba: c(s), hex: i }), this.dispatchChangeEvent(s, a, e);
187
186
  }
188
187
  /**
189
188
  * @hidden
@@ -201,14 +200,14 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
201
200
  */
202
201
  static getStateFromValue(t, a) {
203
202
  R(d(t, "hex")) || (t = w);
204
- const e = j(a, t) || b(t), s = X(a, t) || p(t), i = Y(a, t) || d(t, "hex"), n = c(e.h);
203
+ const e = j(a, t) || b(t), s = X(a, t) || c(t), i = Y(a, t) || d(t, "hex"), n = p(e.h);
205
204
  return { hsva: e, backgroundColor: n, rgba: s, hex: i };
206
205
  }
207
206
  /**
208
207
  * @hidden
209
208
  */
210
209
  setAlphaSliderBackground(t) {
211
- this.props.opacity && this.alphaSlider && this.alphaSlider.sliderTrack && (this.alphaSlider.sliderTrack.style.background = `linear-gradient(to top, transparent, ${t})`);
210
+ this.props.opacity && this.alphaSlider && this.alphaSlider.sliderTrack && (this.alphaSlider.sliderTrack.style.background = `linear-gradient(to ${this.props._adaptive ? "right" : "top"}, transparent, ${t})`);
212
211
  }
213
212
  /**
214
213
  * @hidden
@@ -226,31 +225,38 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
226
225
  * @hidden
227
226
  */
228
227
  render() {
229
- const t = Q(this), a = I("k-colorgradient", { "k-disabled": this.props.disabled }, this.props.className);
230
- return /* @__PURE__ */ r.createElement(
228
+ const t = Z(this);
229
+ return /* @__PURE__ */ o.createElement(
231
230
  "div",
232
231
  {
233
232
  id: this.props.id,
234
233
  role: this.props.role,
235
- className: a,
234
+ className: I(
235
+ "k-colorgradient",
236
+ {
237
+ [`k-colorgradient-${M.sizeMap[this.props.size] || this.props.size}`]: this.props.size,
238
+ "k-disabled": this.props.disabled
239
+ },
240
+ this.props.className
241
+ ),
236
242
  "aria-disabled": this.props.disabled ? "true" : void 0,
237
243
  style: this.props.style,
238
244
  ref: this.wrapperRef,
239
- tabIndex: S(this.props.tabIndex, this.props.disabled),
245
+ tabIndex: k(this.props.tabIndex, this.props.disabled),
240
246
  "aria-label": this.props.ariaLabel,
241
247
  "aria-labelledby": this.props.ariaLabelledBy,
242
248
  "aria-describedby": this.props.ariaDescribedBy,
243
249
  onFocus: this.onFocus,
244
250
  onKeyDown: this.onKeyDown
245
251
  },
246
- /* @__PURE__ */ r.createElement("div", { className: "k-colorgradient-canvas k-hstack" }, /* @__PURE__ */ r.createElement("div", { className: "k-hsv-rectangle", style: { background: this.state.backgroundColor } }, /* @__PURE__ */ r.createElement(
247
- T,
252
+ /* @__PURE__ */ o.createElement("div", { className: `k-colorgradient-canvas ${this.props._adaptive ? "k-vstack" : "k-hstack"}` }, /* @__PURE__ */ o.createElement("div", { className: "k-hsv-rectangle", style: { background: this.state.backgroundColor } }, /* @__PURE__ */ o.createElement(
253
+ _,
248
254
  {
249
255
  onDrag: this.onDrag,
250
256
  onRelease: this.onRelease,
251
- ref: (e) => this.gradientWrapper = e ? e.element : void 0
257
+ ref: (a) => this.gradientWrapper = a ? a.element : void 0
252
258
  },
253
- /* @__PURE__ */ r.createElement(
259
+ /* @__PURE__ */ o.createElement(
254
260
  "div",
255
261
  {
256
262
  className: "k-hsv-gradient",
@@ -259,19 +265,19 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
259
265
  },
260
266
  this.renderRectangleDragHandle()
261
267
  )
262
- ), this.props.backgroundColor && !this.state.isFirstRender && /* @__PURE__ */ r.createElement(
263
- J,
268
+ ), this.props.backgroundColor && !this.state.isFirstRender && /* @__PURE__ */ o.createElement(
269
+ Q,
264
270
  {
265
271
  metrics: this.gradientWrapper ? this.getGradientRectMetrics() : void 0,
266
272
  hsva: this.state.hsva,
267
273
  backgroundColor: this.props.backgroundColor
268
274
  }
269
- )), /* @__PURE__ */ r.createElement("div", { className: "k-hsv-controls k-hstack" }, /* @__PURE__ */ r.createElement(
270
- k,
275
+ )), /* @__PURE__ */ o.createElement("div", { className: `k-hsv-controls ${this.props._adaptive ? "k-vstack" : "k-hstack"}` }, /* @__PURE__ */ o.createElement(
276
+ S,
271
277
  {
272
278
  value: this.state.hsva.h,
273
279
  buttons: !1,
274
- vertical: !0,
280
+ vertical: !this.props._adaptive,
275
281
  min: 0,
276
282
  max: 360,
277
283
  step: 5,
@@ -283,12 +289,12 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
283
289
  x[E]
284
290
  )
285
291
  }
286
- ), this.props.opacity && /* @__PURE__ */ r.createElement(
287
- k,
292
+ ), this.props.opacity && /* @__PURE__ */ o.createElement(
293
+ S,
288
294
  {
289
295
  value: R(this.state.hsva.a) ? this.state.hsva.a * 100 : 100,
290
296
  buttons: !1,
291
- vertical: !0,
297
+ vertical: !this.props._adaptive,
292
298
  min: 0,
293
299
  max: 100,
294
300
  step: 1,
@@ -299,11 +305,11 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
299
305
  onChange: this.onAlphaSliderChange,
300
306
  className: "k-alpha-slider k-colorgradient-slider",
301
307
  disabled: this.props.disabled,
302
- ref: (e) => this.alphaSlider = e
308
+ ref: (a) => this.alphaSlider = a
303
309
  }
304
310
  ))),
305
- /* @__PURE__ */ r.createElement(
306
- z,
311
+ /* @__PURE__ */ o.createElement(
312
+ q,
307
313
  {
308
314
  rgba: this.state.rgba,
309
315
  onRgbaChange: this.onRgbaChange,
@@ -311,44 +317,48 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
311
317
  onHexChange: this.onHexChange,
312
318
  opacity: this.props.opacity,
313
319
  disabled: this.props.disabled,
314
- defaultInputMode: this.props.format
320
+ defaultInputMode: this.props.format,
321
+ size: this.props.size,
322
+ fillMode: this.props.fillMode
315
323
  }
316
324
  ),
317
- this.props.backgroundColor && /* @__PURE__ */ r.createElement(q, { bgColor: p(this.props.backgroundColor), rgba: this.state.rgba })
325
+ this.props.backgroundColor && /* @__PURE__ */ o.createElement(J, { bgColor: c(this.props.backgroundColor), rgba: this.state.rgba })
318
326
  );
319
327
  }
320
328
  };
321
329
  h.displayName = "ColorGradient", h.propTypes = {
322
- defaultValue: o.string,
323
- value: o.string,
324
- onChange: o.func,
325
- onFocus: o.func,
326
- opacity: o.bool,
327
- backgroundColor: o.string,
328
- format: o.any,
329
- disabled: o.bool,
330
- style: o.any,
331
- id: o.string,
332
- role: o.string,
333
- ariaLabel: o.string,
334
- ariaLabelledBy: o.string,
335
- ariaDescribedBy: o.string,
336
- className: o.string
330
+ defaultValue: r.string,
331
+ value: r.string,
332
+ onChange: r.func,
333
+ onFocus: r.func,
334
+ opacity: r.bool,
335
+ backgroundColor: r.string,
336
+ format: r.any,
337
+ disabled: r.bool,
338
+ style: r.any,
339
+ id: r.string,
340
+ role: r.string,
341
+ ariaLabel: r.string,
342
+ ariaLabelledBy: r.string,
343
+ ariaDescribedBy: r.string,
344
+ className: r.string,
345
+ size: r.oneOf(["small", "medium", "large", null])
337
346
  }, h.defaultProps = {
338
347
  opacity: !0,
339
348
  role: "textbox",
340
- format: "rgb"
349
+ format: "rgb",
350
+ size: "medium"
341
351
  };
342
- let f = h;
343
- const ee = M(), te = _(
344
- B(
345
- ee,
346
- f
352
+ let m = h;
353
+ const te = T(), se = B(
354
+ P(
355
+ te,
356
+ m
347
357
  )
348
358
  );
349
- te.displayName = "KendoReactColorGradient";
359
+ se.displayName = "KendoReactColorGradient";
350
360
  export {
351
- te as ColorGradient,
352
- ee as ColorGradientPropsContext,
353
- f as ColorGradientWithoutContext
361
+ se as ColorGradient,
362
+ te as ColorGradientPropsContext,
363
+ m as ColorGradientWithoutContext
354
364
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";const b=require("react"),i=require("../numerictextbox/NumericTextBox.js"),m=require("./HexInput.js"),u=require("@progress/kendo-react-buttons"),x=require("@progress/kendo-svg-icons"),l=require("@progress/kendo-react-intl"),s=require("../messages/index.js");function f(o){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const t in o)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(o,t);Object.defineProperty(e,t,n.get?n:{enumerable:!0,get:()=>o[t]})}}return e.default=o,Object.freeze(e)}const a=f(b),r=["rgba","rgb","hex"];class c extends a.Component{constructor(e){super(e),this.onRgbaRChange=t=>{this.dispatchRgbaChange({r:t.value},t)},this.onRgbaGChange=t=>{this.dispatchRgbaChange({g:t.value},t)},this.onRgbaBChange=t=>{this.dispatchRgbaChange({b:t.value},t)},this.onRgbaAChange=t=>{this.dispatchRgbaChange({a:t.value},t)},this.state={inputMode:e.defaultInputMode||r[1]}}render(){const e=l.provideLocalizationService(this),t=e.toLanguageString(s.colorGradientHex,s.messages[s.colorGradientHex]),n=e.toLanguageString(s.colorGradientR,s.messages[s.colorGradientR]),g=e.toLanguageString(s.colorGradientG,s.messages[s.colorGradientG]),d=e.toLanguageString(s.colorGradientB,s.messages[s.colorGradientB]),p=e.toLanguageString(s.colorGradientA,s.messages[s.colorGradientA]),h=e.toLanguageString(s.colorGradientToggleInputsButton,s.messages[s.colorGradientToggleInputsButton]);return a.createElement("div",{className:"k-colorgradient-inputs k-hstack"},a.createElement("div",{className:"k-vstack"},a.createElement(u.Button,{"aria-label":h,fillMode:"flat",icon:"caret-alt-expand",svgIcon:x.caretAltExpandIcon,className:"k-colorgradient-toggle-mode",onClick:this.onToggleModeChange.bind(this)})),this.state.inputMode==="hex"&&a.createElement("div",{className:"k-vstack k-flex-1"},a.createElement(m,{hex:this.props.hex,onHexChange:this.props.onHexChange,disabled:this.props.disabled}),a.createElement("label",{className:"k-colorgradient-input-label"},t)),(this.state.inputMode==="rgb"||this.state.inputMode==="rgba")&&a.createElement(a.Fragment,null,a.createElement("div",{className:"k-vstack"},a.createElement(i.NumericTextBox,{value:this.props.rgba.r,ariaLabel:String(this.props.rgba.r),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaRChange,disabled:this.props.disabled}),a.createElement("label",{className:"k-colorgradient-input-label"},n)),a.createElement("div",{className:"k-vstack"},a.createElement(i.NumericTextBox,{value:this.props.rgba.g,ariaLabel:String(this.props.rgba.g),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaGChange,disabled:this.props.disabled}),a.createElement("label",{className:"k-colorgradient-input-label"},g)),a.createElement("div",{className:"k-vstack"},a.createElement(i.NumericTextBox,{value:this.props.rgba.b,ariaLabel:String(this.props.rgba.b),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaBChange,disabled:this.props.disabled}),a.createElement("label",{className:"k-colorgradient-input-label"},d))),this.state.inputMode==="rgba"&&a.createElement("div",{className:"k-vstack"},this.props.opacity&&a.createElement(i.NumericTextBox,{value:this.props.rgba.a,ariaLabel:String(this.props.rgba.a),min:0,max:1,step:.01,spinners:!1,format:"n2",onChange:this.onRgbaAChange,disabled:this.props.disabled}),this.props.opacity&&a.createElement("label",{className:"k-colorgradient-input-label"},p)))}dispatchRgbaChange(e,t){const n={...this.props.rgba};e.r!==void 0&&(n.r=e.r),e.g!==void 0&&(n.g=e.g),e.b!==void 0&&(n.b=e.b),e.a!==void 0&&(n.a=e.a),this.props.onRgbaChange(n,t)}onToggleModeChange(){const e=r.length-1===r.indexOf(this.state.inputMode)?0:r.indexOf(this.state.inputMode)+1;if(this.props.opacity)this.setState({inputMode:r[e]});else{const t=r[e]==="rgba"?e+1:e;this.setState({inputMode:r[t]})}}}l.registerForIntl(c);l.registerForLocalization(c);module.exports=c;
8
+ "use strict";const b=require("react"),n=require("../numerictextbox/NumericTextBox.js"),m=require("./HexInput.js"),u=require("@progress/kendo-react-buttons"),f=require("@progress/kendo-svg-icons"),l=require("@progress/kendo-react-intl"),s=require("../messages/index.js");function x(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const a=x(b),o=["rgba","rgb","hex"];class g extends a.Component{constructor(e){super(e),this.onRgbaRChange=t=>{this.dispatchRgbaChange({r:t.value},t)},this.onRgbaGChange=t=>{this.dispatchRgbaChange({g:t.value},t)},this.onRgbaBChange=t=>{this.dispatchRgbaChange({b:t.value},t)},this.onRgbaAChange=t=>{this.dispatchRgbaChange({a:t.value},t)},this.state={inputMode:e.defaultInputMode||o[1]}}render(){const e=l.provideLocalizationService(this),t=e.toLanguageString(s.colorGradientHex,s.messages[s.colorGradientHex]),i=e.toLanguageString(s.colorGradientR,s.messages[s.colorGradientR]),c=e.toLanguageString(s.colorGradientG,s.messages[s.colorGradientG]),p=e.toLanguageString(s.colorGradientB,s.messages[s.colorGradientB]),d=e.toLanguageString(s.colorGradientA,s.messages[s.colorGradientA]),h=e.toLanguageString(s.colorGradientToggleInputsButton,s.messages[s.colorGradientToggleInputsButton]);return a.createElement("div",{className:"k-colorgradient-inputs k-hstack"},a.createElement("div",{className:"k-vstack"},a.createElement(u.Button,{"aria-label":h,fillMode:"flat",icon:"caret-alt-expand",svgIcon:f.caretAltExpandIcon,className:"k-colorgradient-toggle-mode",size:this.props.size,onClick:this.onToggleModeChange.bind(this)})),this.state.inputMode==="hex"&&a.createElement("div",{className:"k-vstack k-flex-1"},a.createElement(m,{hex:this.props.hex,onHexChange:this.props.onHexChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},t)),(this.state.inputMode==="rgb"||this.state.inputMode==="rgba")&&a.createElement(a.Fragment,null,a.createElement("div",{className:"k-vstack"},a.createElement(n.NumericTextBox,{value:this.props.rgba.r,ariaLabel:String(this.props.rgba.r),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaRChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},i)),a.createElement("div",{className:"k-vstack"},a.createElement(n.NumericTextBox,{value:this.props.rgba.g,ariaLabel:String(this.props.rgba.g),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaGChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},c)),a.createElement("div",{className:"k-vstack"},a.createElement(n.NumericTextBox,{value:this.props.rgba.b,ariaLabel:String(this.props.rgba.b),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaBChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},p))),this.state.inputMode==="rgba"&&a.createElement("div",{className:"k-vstack"},this.props.opacity&&a.createElement(n.NumericTextBox,{value:this.props.rgba.a,ariaLabel:String(this.props.rgba.a),min:0,max:1,step:.01,spinners:!1,format:"n2",onChange:this.onRgbaAChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),this.props.opacity&&a.createElement("label",{className:"k-colorgradient-input-label"},d)))}dispatchRgbaChange(e,t){const i={...this.props.rgba};e.r!==void 0&&(i.r=e.r),e.g!==void 0&&(i.g=e.g),e.b!==void 0&&(i.b=e.b),e.a!==void 0&&(i.a=e.a),this.props.onRgbaChange(i,t)}onToggleModeChange(){const e=o.length-1===o.indexOf(this.state.inputMode)?0:o.indexOf(this.state.inputMode)+1;if(this.props.opacity)this.setState({inputMode:o[e]});else{const t=o[e]==="rgba"?e+1:e;this.setState({inputMode:o[t]})}}}l.registerForIntl(g);l.registerForLocalization(g);module.exports=g;
@@ -5,51 +5,53 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";
9
- import * as a from "react";
10
- import { NumericTextBox as o } from "../numerictextbox/NumericTextBox.mjs";
11
- import v from "./HexInput.mjs";
12
- import { Button as x } from "@progress/kendo-react-buttons";
13
- import { caretAltExpandIcon as C } from "@progress/kendo-svg-icons";
14
- import { provideLocalizationService as k, registerForIntl as E, registerForLocalization as M } from "@progress/kendo-react-intl";
15
- import { colorGradientHex as r, messages as n, colorGradientR as l, colorGradientG as g, colorGradientB as c, colorGradientA as p, colorGradientToggleInputsButton as h } from "../messages/index.mjs";
8
+ import * as t from "react";
9
+ import { NumericTextBox as r } from "../numerictextbox/NumericTextBox.mjs";
10
+ import M from "./HexInput.mjs";
11
+ import { Button as v } from "@progress/kendo-react-buttons";
12
+ import { caretAltExpandIcon as x } from "@progress/kendo-svg-icons";
13
+ import { provideLocalizationService as C, registerForIntl as k, registerForLocalization as E } from "@progress/kendo-react-intl";
14
+ import { colorGradientHex as n, messages as o, colorGradientR as l, colorGradientG as g, colorGradientB as p, colorGradientA as h, colorGradientToggleInputsButton as c } from "../messages/index.mjs";
16
15
  const i = ["rgba", "rgb", "hex"];
17
- class d extends a.Component {
16
+ class d extends t.Component {
18
17
  constructor(e) {
19
- super(e), this.onRgbaRChange = (t) => {
20
- this.dispatchRgbaChange({ r: t.value }, t);
21
- }, this.onRgbaGChange = (t) => {
22
- this.dispatchRgbaChange({ g: t.value }, t);
23
- }, this.onRgbaBChange = (t) => {
24
- this.dispatchRgbaChange({ b: t.value }, t);
25
- }, this.onRgbaAChange = (t) => {
26
- this.dispatchRgbaChange({ a: t.value }, t);
18
+ super(e), this.onRgbaRChange = (a) => {
19
+ this.dispatchRgbaChange({ r: a.value }, a);
20
+ }, this.onRgbaGChange = (a) => {
21
+ this.dispatchRgbaChange({ g: a.value }, a);
22
+ }, this.onRgbaBChange = (a) => {
23
+ this.dispatchRgbaChange({ b: a.value }, a);
24
+ }, this.onRgbaAChange = (a) => {
25
+ this.dispatchRgbaChange({ a: a.value }, a);
27
26
  }, this.state = { inputMode: e.defaultInputMode || i[1] };
28
27
  }
29
28
  render() {
30
- const e = k(this), t = e.toLanguageString(r, n[r]), s = e.toLanguageString(l, n[l]), m = e.toLanguageString(g, n[g]), b = e.toLanguageString(c, n[c]), u = e.toLanguageString(p, n[p]), f = e.toLanguageString(
31
- h,
32
- n[h]
29
+ const e = C(this), a = e.toLanguageString(n, o[n]), s = e.toLanguageString(l, o[l]), m = e.toLanguageString(g, o[g]), b = e.toLanguageString(p, o[p]), f = e.toLanguageString(h, o[h]), u = e.toLanguageString(
30
+ c,
31
+ o[c]
33
32
  );
34
- return /* @__PURE__ */ a.createElement("div", { className: "k-colorgradient-inputs k-hstack" }, /* @__PURE__ */ a.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ a.createElement(
35
- x,
33
+ return /* @__PURE__ */ t.createElement("div", { className: "k-colorgradient-inputs k-hstack" }, /* @__PURE__ */ t.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ t.createElement(
34
+ v,
36
35
  {
37
- "aria-label": f,
36
+ "aria-label": u,
38
37
  fillMode: "flat",
39
38
  icon: "caret-alt-expand",
40
- svgIcon: C,
39
+ svgIcon: x,
41
40
  className: "k-colorgradient-toggle-mode",
41
+ size: this.props.size,
42
42
  onClick: this.onToggleModeChange.bind(this)
43
43
  }
44
- )), this.state.inputMode === "hex" && /* @__PURE__ */ a.createElement("div", { className: "k-vstack k-flex-1" }, /* @__PURE__ */ a.createElement(
45
- v,
44
+ )), this.state.inputMode === "hex" && /* @__PURE__ */ t.createElement("div", { className: "k-vstack k-flex-1" }, /* @__PURE__ */ t.createElement(
45
+ M,
46
46
  {
47
47
  hex: this.props.hex,
48
48
  onHexChange: this.props.onHexChange,
49
- disabled: this.props.disabled
49
+ disabled: this.props.disabled,
50
+ size: this.props.size,
51
+ fillMode: this.props.fillMode
50
52
  }
51
- ), /* @__PURE__ */ a.createElement("label", { className: "k-colorgradient-input-label" }, t)), (this.state.inputMode === "rgb" || this.state.inputMode === "rgba") && /* @__PURE__ */ a.createElement(a.Fragment, null, /* @__PURE__ */ a.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ a.createElement(
52
- o,
53
+ ), /* @__PURE__ */ t.createElement("label", { className: "k-colorgradient-input-label" }, a)), (this.state.inputMode === "rgb" || this.state.inputMode === "rgba") && /* @__PURE__ */ t.createElement(t.Fragment, null, /* @__PURE__ */ t.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ t.createElement(
54
+ r,
53
55
  {
54
56
  value: this.props.rgba.r,
55
57
  ariaLabel: String(this.props.rgba.r),
@@ -58,10 +60,12 @@ class d extends a.Component {
58
60
  spinners: !1,
59
61
  format: "n",
60
62
  onChange: this.onRgbaRChange,
61
- disabled: this.props.disabled
63
+ disabled: this.props.disabled,
64
+ size: this.props.size,
65
+ fillMode: this.props.fillMode
62
66
  }
63
- ), /* @__PURE__ */ a.createElement("label", { className: "k-colorgradient-input-label" }, s)), /* @__PURE__ */ a.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ a.createElement(
64
- o,
67
+ ), /* @__PURE__ */ t.createElement("label", { className: "k-colorgradient-input-label" }, s)), /* @__PURE__ */ t.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ t.createElement(
68
+ r,
65
69
  {
66
70
  value: this.props.rgba.g,
67
71
  ariaLabel: String(this.props.rgba.g),
@@ -70,10 +74,12 @@ class d extends a.Component {
70
74
  spinners: !1,
71
75
  format: "n",
72
76
  onChange: this.onRgbaGChange,
73
- disabled: this.props.disabled
77
+ disabled: this.props.disabled,
78
+ size: this.props.size,
79
+ fillMode: this.props.fillMode
74
80
  }
75
- ), /* @__PURE__ */ a.createElement("label", { className: "k-colorgradient-input-label" }, m)), /* @__PURE__ */ a.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ a.createElement(
76
- o,
81
+ ), /* @__PURE__ */ t.createElement("label", { className: "k-colorgradient-input-label" }, m)), /* @__PURE__ */ t.createElement("div", { className: "k-vstack" }, /* @__PURE__ */ t.createElement(
82
+ r,
77
83
  {
78
84
  value: this.props.rgba.b,
79
85
  ariaLabel: String(this.props.rgba.b),
@@ -82,10 +88,12 @@ class d extends a.Component {
82
88
  spinners: !1,
83
89
  format: "n",
84
90
  onChange: this.onRgbaBChange,
85
- disabled: this.props.disabled
91
+ disabled: this.props.disabled,
92
+ size: this.props.size,
93
+ fillMode: this.props.fillMode
86
94
  }
87
- ), /* @__PURE__ */ a.createElement("label", { className: "k-colorgradient-input-label" }, b))), this.state.inputMode === "rgba" && /* @__PURE__ */ a.createElement("div", { className: "k-vstack" }, this.props.opacity && /* @__PURE__ */ a.createElement(
88
- o,
95
+ ), /* @__PURE__ */ t.createElement("label", { className: "k-colorgradient-input-label" }, b))), this.state.inputMode === "rgba" && /* @__PURE__ */ t.createElement("div", { className: "k-vstack" }, this.props.opacity && /* @__PURE__ */ t.createElement(
96
+ r,
89
97
  {
90
98
  value: this.props.rgba.a,
91
99
  ariaLabel: String(this.props.rgba.a),
@@ -95,26 +103,28 @@ class d extends a.Component {
95
103
  spinners: !1,
96
104
  format: "n2",
97
105
  onChange: this.onRgbaAChange,
98
- disabled: this.props.disabled
106
+ disabled: this.props.disabled,
107
+ size: this.props.size,
108
+ fillMode: this.props.fillMode
99
109
  }
100
- ), this.props.opacity && /* @__PURE__ */ a.createElement("label", { className: "k-colorgradient-input-label" }, u)));
110
+ ), this.props.opacity && /* @__PURE__ */ t.createElement("label", { className: "k-colorgradient-input-label" }, f)));
101
111
  }
102
- dispatchRgbaChange(e, t) {
112
+ dispatchRgbaChange(e, a) {
103
113
  const s = { ...this.props.rgba };
104
- e.r !== void 0 && (s.r = e.r), e.g !== void 0 && (s.g = e.g), e.b !== void 0 && (s.b = e.b), e.a !== void 0 && (s.a = e.a), this.props.onRgbaChange(s, t);
114
+ e.r !== void 0 && (s.r = e.r), e.g !== void 0 && (s.g = e.g), e.b !== void 0 && (s.b = e.b), e.a !== void 0 && (s.a = e.a), this.props.onRgbaChange(s, a);
105
115
  }
106
116
  onToggleModeChange() {
107
117
  const e = i.length - 1 === i.indexOf(this.state.inputMode) ? 0 : i.indexOf(this.state.inputMode) + 1;
108
118
  if (this.props.opacity)
109
119
  this.setState({ inputMode: i[e] });
110
120
  else {
111
- const t = i[e] === "rgba" ? e + 1 : e;
112
- this.setState({ inputMode: i[t] });
121
+ const a = i[e] === "rgba" ? e + 1 : e;
122
+ this.setState({ inputMode: i[a] });
113
123
  }
114
124
  }
115
125
  }
126
+ k(d);
116
127
  E(d);
117
- M(d);
118
128
  export {
119
129
  d as default
120
130
  };
@@ -5,4 +5,4 @@
5
5
  * Licensed under commercial license. See LICENSE.md in the package root for more information
6
6
  *-------------------------------------------------------------------------------------------
7
7
  */
8
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("react"),s=require("prop-types"),T=require("./utils/color-palette.service.js"),r=require("@progress/kendo-react-common"),N=require("../package-metadata.js"),D=require("./models/palette-presets.js"),I=require("./utils/misc.js"),L=require("./utils/color-parser.js");function O(n){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const e in n)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(n,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>n[e]})}}return t.default=n,Object.freeze(t)}const l=O(F),v=24,u=10,S="office",c=class c extends l.Component{constructor(t){super(t),this.wrapperRef=l.createRef(),this.paletteService=null,this.focus=()=>{this.wrapperRef&&this.wrapperRef.current&&this.wrapperRef.current.focus()},this.onKeyDown=e=>{switch(e.key){case r.KEYS.down:this.handleCellNavigation(0,1);break;case r.KEYS.up:this.handleCellNavigation(0,-1);break;case r.KEYS.right:this.handleCellNavigation(1,0);break;case r.KEYS.left:this.handleCellNavigation(-1,0);break;case r.KEYS.enter:this.handleEnter(e);break;default:return}e.preventDefault()},this.onColorClick=(e,o)=>{this.isUncontrolled?this.setState({selectedColor:e,focusedColor:e}):this.setState({focusedColor:e}),this.dispatchChangeEvent(e,o)},this.onFocus=e=>{this.paletteService&&(this.setState({focusedColor:this.state.selectedColor||this.paletteService.colorRows[0][0]}),this.props.onFocus&&this.props.onFocus.call(void 0,e))},this.onBlur=()=>{this.setState({focusedColor:void 0})},r.validatePackage(N.packageMetadata),this.state={selectedColor:this.props.value!==void 0?this.props.value:this.props.defaultValue?this.props.defaultValue:void 0,isFirstRender:!0}}get guid(){return this.props.id}render(){const t=this.getPaletteInfo(),e=this.paletteService=new T.ColorPaletteService;e.setColorMatrix(t.colors,t.columns);const o=e.getCellCoordsFor(this.state.selectedColor),i=e.getCellCoordsFor(this.state.focusedColor),a=r.classNames("k-colorpalette",{"k-disabled":this.props.disabled},this.props.className);return t.colors.length?l.createElement("div",{id:this.props.id,role:"grid",className:a,onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,"aria-disabled":this.props.ariaDisabled||(this.props.disabled?"true":void 0),"aria-labelledby":this.props.ariaLabelledBy,"aria-describedby":this.props.ariaDescribedBy,tabIndex:r.getTabIndex(this.props.tabIndex,this.props.disabled),ref:this.wrapperRef},l.createElement("table",{className:"k-colorpalette-table",role:"presentation"},l.createElement("tbody",{role:"rowgroup"},this.renderRows(e.colorRows,o,i)))):""}static getDerivedStateFromProps(t,e){if(!e.isFirstRender&&t.value!==void 0){if(t.value===""&&e.selectedColor!==void 0)return{selectedColor:void 0};if(t.value!==""&&t.value!==e.selectedColor)return{selectedColor:t.value}}else if(e.isFirstRender)return{isFirstRender:!1};return null}handleCellNavigation(t,e){if(this.paletteService)if(this.focusedColorCooridanates){const o=this.paletteService.getNextCell(this.focusedColorCooridanates,t,e);this.setState({focusedColor:this.paletteService.getColorAt(o)})}else this.setState({focusedColor:this.paletteService.colorRows[0][0]})}handleEnter(t){this.isUncontrolled&&this.setState({selectedColor:this.state.focusedColor}),this.dispatchChangeEvent(this.state.focusedColor,t)}dispatchChangeEvent(t,e){r.dispatchEvent(this.props.onChange,e,this,{value:t,rgbaValue:L.parseColor(t,"rgba")})}get focusedColorCooridanates(){return this.state.focusedColor&&this.paletteService?this.paletteService.getCellCoordsFor(this.state.focusedColor):void 0}get isUncontrolled(){return this.props.value===void 0}getPaletteInfo(){if(typeof this.props.palette=="string"){const t=D.PALETTEPRESETS[this.props.palette];return I.isPresent(t)?{colors:t.colors,columns:this.props.columns||t.columns||u}:{colors:[],columns:0}}return{colors:this.props.palette||[],columns:this.props.columns||u}}renderRows(t,e,o){return t.map((i,a)=>l.createElement("tr",{role:"row",key:a},this.renderColumns(i,a,e,o)))}renderColumns(t,e,o,i){const a=o!==void 0&&o.row===e,E=o&&o.col,w=i!==void 0&&i.row===e,y=i&&i.col,f=typeof this.props.tileSize!="number"?this.props.tileSize:{width:this.props.tileSize,height:this.props.tileSize},C=f.width+"px",P=f.height+"px";return t.map((h,d)=>{const g=a&&E===d,k=r.classNames("k-colorpalette-tile",{"k-selected":g,"k-focus":w&&y===d});return l.createElement("td",{role:"gridcell",className:k,"aria-label":h,"aria-selected":g?!0:this.props.disabled?void 0:!1,style:{backgroundColor:h,width:C,height:P,minWidth:C},onClick:R=>this.onColorClick(h,R),id:this.createCellId({row:e,col:d}),key:d})})}createCellId(t){return`${this.guid}_${t.row}_${t.col}`}};c.displayName="ColorPalette",c.propTypes={palette:s.oneOfType([s.arrayOf(s.string.isRequired),s.string]),columns:s.number,tileSize:s.any,defaultValue:s.string,value:s.string,disabled:s.bool,tabIndex:s.number,onChange:s.func,onFocus:s.func,id:s.string,ariaLabelledBy:s.string,ariaDescribedBy:s.string,className:s.string},c.defaultProps={palette:S,tileSize:v};let p=c;const b=r.createPropsContext(),m=r.withIdHOC(r.withPropsContext(b,p));m.displayName="KendoReactColorPalette";exports.ColorPalette=m;exports.ColorPalettePropsContext=b;exports.ColorPaletteWithoutContext=p;exports.DEFAULT_COLUMNS_COUNT=u;exports.DEFAULT_PRESET=S;exports.DEFAULT_TILE_SIZE=v;
8
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const k=require("react"),s=require("prop-types"),P=require("./utils/color-palette.service.js"),r=require("@progress/kendo-react-common"),R=require("../package-metadata.js"),T=require("./models/palette-presets.js"),F=require("./utils/misc.js"),N=require("./utils/color-parser.js");function D(l){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const e in l)if(e!=="default"){const o=Object.getOwnPropertyDescriptor(l,e);Object.defineProperty(t,e,o.get?o:{enumerable:!0,get:()=>l[e]})}}return t.default=l,Object.freeze(t)}const a=D(k),C=24,h=10,g="office",n=class n extends a.Component{constructor(t){super(t),this.wrapperRef=a.createRef(),this.paletteService=null,this.focus=()=>{this.wrapperRef&&this.wrapperRef.current&&this.wrapperRef.current.focus()},this.onKeyDown=e=>{switch(e.key){case r.KEYS.down:this.handleCellNavigation(0,1);break;case r.KEYS.up:this.handleCellNavigation(0,-1);break;case r.KEYS.right:this.handleCellNavigation(1,0);break;case r.KEYS.left:this.handleCellNavigation(-1,0);break;case r.KEYS.enter:this.handleEnter(e);break;default:return}e.preventDefault()},this.onColorClick=(e,o)=>{this.isUncontrolled?this.setState({selectedColor:e,focusedColor:e}):this.setState({focusedColor:e}),this.dispatchChangeEvent(e,o)},this.onFocus=e=>{this.paletteService&&(this.setState({focusedColor:this.state.selectedColor||this.paletteService.colorRows[0][0]}),this.props.onFocus&&this.props.onFocus.call(void 0,e))},this.onBlur=()=>{this.setState({focusedColor:void 0})},r.validatePackage(R.packageMetadata),this.state={selectedColor:this.props.value!==void 0?this.props.value:this.props.defaultValue?this.props.defaultValue:void 0,isFirstRender:!0}}get guid(){return this.props.id}render(){const t=this.getPaletteInfo(),e=this.paletteService=new P.ColorPaletteService;e.setColorMatrix(t.colors,t.columns);const o=e.getCellCoordsFor(this.state.selectedColor),i=e.getCellCoordsFor(this.state.focusedColor);return t.colors.length?a.createElement("div",{id:this.props.id,role:"grid",className:r.classNames("k-colorpalette",{[`k-colorpalette-${r.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-disabled":this.props.disabled},this.props.className),onFocus:this.onFocus,onBlur:this.onBlur,onKeyDown:this.onKeyDown,"aria-disabled":this.props.ariaDisabled||(this.props.disabled?"true":void 0),"aria-labelledby":this.props.ariaLabelledBy,"aria-describedby":this.props.ariaDescribedBy,tabIndex:r.getTabIndex(this.props.tabIndex,this.props.disabled),ref:this.wrapperRef},a.createElement("table",{className:"k-colorpalette-table",role:"presentation"},a.createElement("tbody",{role:"rowgroup"},this.renderRows(e.colorRows,o,i)))):""}static getDerivedStateFromProps(t,e){if(!e.isFirstRender&&t.value!==void 0){if(t.value===""&&e.selectedColor!==void 0)return{selectedColor:void 0};if(t.value!==""&&t.value!==e.selectedColor)return{selectedColor:t.value}}else if(e.isFirstRender)return{isFirstRender:!1};return null}handleCellNavigation(t,e){if(this.paletteService)if(this.focusedColorCooridanates){const o=this.paletteService.getNextCell(this.focusedColorCooridanates,t,e);this.setState({focusedColor:this.paletteService.getColorAt(o)})}else this.setState({focusedColor:this.paletteService.colorRows[0][0]})}handleEnter(t){this.isUncontrolled&&this.setState({selectedColor:this.state.focusedColor}),this.dispatchChangeEvent(this.state.focusedColor,t)}dispatchChangeEvent(t,e){r.dispatchEvent(this.props.onChange,e,this,{value:t,rgbaValue:N.parseColor(t,"rgba")})}get focusedColorCooridanates(){return this.state.focusedColor&&this.paletteService?this.paletteService.getCellCoordsFor(this.state.focusedColor):void 0}get isUncontrolled(){return this.props.value===void 0}getPaletteInfo(){if(typeof this.props.palette=="string"){const t=T.PALETTEPRESETS[this.props.palette];return F.isPresent(t)?{colors:t.colors,columns:this.props.columns||t.columns||h}:{colors:[],columns:0}}return{colors:this.props.palette||[],columns:this.props.columns||h}}renderRows(t,e,o){return t.map((i,c)=>a.createElement("tr",{role:"row",key:c},this.renderColumns(i,c,e,o)))}renderColumns(t,e,o,i){const c=o!==void 0&&o.row===e,b=o&&o.col,S=i!==void 0&&i.row===e,E=i&&i.col;return t.map((u,d)=>{const f=c&&b===d,y=r.classNames("k-colorpalette-tile",{"k-selected":f,"k-focus":S&&E===d});return a.createElement("td",{role:"gridcell",className:y,"aria-label":u,"aria-selected":f?!0:this.props.disabled?void 0:!1,style:{backgroundColor:u},onClick:w=>this.onColorClick(u,w),id:this.createCellId({row:e,col:d}),key:d})})}createCellId(t){return`${this.guid}_${t.row}_${t.col}`}};n.displayName="ColorPalette",n.propTypes={palette:s.oneOfType([s.arrayOf(s.string.isRequired),s.string]),columns:s.number,tileSize:s.any,defaultValue:s.string,value:s.string,disabled:s.bool,tabIndex:s.number,onChange:s.func,onFocus:s.func,id:s.string,ariaLabelledBy:s.string,ariaDescribedBy:s.string,className:s.string,size:s.oneOf(["small","medium","large",null])},n.defaultProps={palette:g,tileSize:C,size:"medium"};let p=n;const v=r.createPropsContext(),m=r.withIdHOC(r.withPropsContext(v,p));m.displayName="KendoReactColorPalette";exports.ColorPalette=m;exports.ColorPalettePropsContext=v;exports.ColorPaletteWithoutContext=p;exports.DEFAULT_COLUMNS_COUNT=h;exports.DEFAULT_PRESET=g;exports.DEFAULT_TILE_SIZE=C;