@salutejs/plasma-new-hope 0.337.0-canary.2184.17942080334.0 → 0.337.0-canary.2184.17968380115.0

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 (120) hide show
  1. package/cjs/components/Autocomplete/Autocomplete.css +2 -2
  2. package/cjs/components/Combobox/ComboboxNew/Combobox.css +2 -2
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.css +2 -2
  4. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  5. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  6. package/cjs/components/InformationWrapper/InformationWrapper.css +2 -2
  7. package/cjs/components/InformationWrapper/ui/Label/Label.css +2 -2
  8. package/cjs/components/Note/Note.css +1 -1
  9. package/cjs/components/Note/Note.js +1 -1
  10. package/cjs/components/Note/Note.js.map +1 -1
  11. package/cjs/components/Note/variations/_size/base.js +1 -1
  12. package/cjs/components/Note/variations/_size/base.js.map +1 -1
  13. package/cjs/components/Note/variations/_size/{base_111wwzs.css → base_12cn7f7.css} +1 -1
  14. package/cjs/components/Pagination/Pagination.css +2 -2
  15. package/cjs/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  16. package/cjs/components/Range/Range.css +2 -2
  17. package/cjs/components/Select/Select.css +2 -2
  18. package/cjs/components/Select/ui/Target/Target.css +2 -2
  19. package/cjs/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -2
  20. package/cjs/components/Slider/Slider.css +2 -2
  21. package/cjs/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -2
  22. package/cjs/components/Table/Table.css +2 -2
  23. package/cjs/components/Table/ui/Cell/Cell.css +2 -2
  24. package/cjs/components/Table/ui/EditableCell/EditableCell.css +2 -2
  25. package/cjs/components/Table/ui/HeadCell/HeadCell.css +2 -2
  26. package/cjs/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  27. package/cjs/components/TextArea/ui/Hint/Hint.css +2 -2
  28. package/cjs/components/TextField/ui/Hint/Hint.css +2 -2
  29. package/cjs/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +2 -2
  30. package/cjs/components/TimePicker/TimePicker.css +11 -7
  31. package/cjs/components/TimePicker/TimePicker.js +254 -6
  32. package/cjs/components/TimePicker/TimePicker.js.map +1 -1
  33. package/cjs/components/TimePicker/TimePicker.styles.js +27 -3
  34. package/cjs/components/TimePicker/TimePicker.styles.js.map +1 -1
  35. package/{es/components/TimePicker/TimePicker.styles_thn2wn.css → cjs/components/TimePicker/TimePicker.styles_7l6ler.css} +7 -3
  36. package/cjs/components/TimePicker/TimePicker.tokens.js +4 -1
  37. package/cjs/components/TimePicker/TimePicker.tokens.js.map +1 -1
  38. package/cjs/components/Tooltip/Tooltip.styles.js +5 -5
  39. package/cjs/components/Tooltip/Tooltip.styles.js.map +1 -1
  40. package/cjs/components/Tooltip/Tooltip.styles_uldg0s.css +2 -0
  41. package/cjs/index.css +12 -8
  42. package/emotion/cjs/components/Note/Note.js +1 -1
  43. package/emotion/cjs/components/Note/variations/_size/base.js +1 -1
  44. package/emotion/cjs/components/TimePicker/TimePicker.js +259 -6
  45. package/emotion/cjs/components/TimePicker/TimePicker.styles.js +39 -11
  46. package/emotion/cjs/components/TimePicker/TimePicker.tokens.js +4 -1
  47. package/emotion/cjs/components/Tooltip/Tooltip.styles.js +5 -5
  48. package/emotion/es/components/Note/Note.js +1 -1
  49. package/emotion/es/components/Note/variations/_size/base.js +1 -1
  50. package/emotion/es/components/TimePicker/TimePicker.js +261 -8
  51. package/emotion/es/components/TimePicker/TimePicker.styles.js +27 -11
  52. package/emotion/es/components/TimePicker/TimePicker.tokens.js +4 -1
  53. package/emotion/es/components/Tooltip/Tooltip.styles.js +5 -5
  54. package/es/components/Autocomplete/Autocomplete.css +2 -2
  55. package/es/components/Combobox/ComboboxNew/Combobox.css +2 -2
  56. package/es/components/DatePicker/RangeDate/RangeDate.css +2 -2
  57. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  58. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  59. package/es/components/InformationWrapper/InformationWrapper.css +2 -2
  60. package/es/components/InformationWrapper/ui/Label/Label.css +2 -2
  61. package/es/components/Note/Note.css +1 -1
  62. package/es/components/Note/Note.js +1 -1
  63. package/es/components/Note/Note.js.map +1 -1
  64. package/es/components/Note/variations/_size/base.js +1 -1
  65. package/es/components/Note/variations/_size/base.js.map +1 -1
  66. package/es/components/Note/variations/_size/{base_111wwzs.css → base_12cn7f7.css} +1 -1
  67. package/es/components/Pagination/Pagination.css +2 -2
  68. package/es/components/Pagination/ui/PaginationSelectPerPage/PaginationSelectPerPage.css +2 -2
  69. package/es/components/Range/Range.css +2 -2
  70. package/es/components/Select/Select.css +2 -2
  71. package/es/components/Select/ui/Target/Target.css +2 -2
  72. package/es/components/Select/ui/Target/ui/Textfield/Textfield.css +2 -2
  73. package/es/components/Slider/Slider.css +2 -2
  74. package/es/components/Slider/components/DoubleUncontrolled/DoubleUncontrolled.css +2 -2
  75. package/es/components/Table/Table.css +2 -2
  76. package/es/components/Table/ui/Cell/Cell.css +2 -2
  77. package/es/components/Table/ui/EditableCell/EditableCell.css +2 -2
  78. package/es/components/Table/ui/HeadCell/HeadCell.css +2 -2
  79. package/es/components/Table/ui/HeadCell/ui/Filter/Filter.css +2 -2
  80. package/es/components/TextArea/ui/Hint/Hint.css +2 -2
  81. package/es/components/TextField/ui/Hint/Hint.css +2 -2
  82. package/es/components/TextField/ui/TextFieldChipNew/TextFieldChipNew.css +2 -2
  83. package/es/components/TimePicker/TimePicker.css +11 -7
  84. package/es/components/TimePicker/TimePicker.js +257 -9
  85. package/es/components/TimePicker/TimePicker.js.map +1 -1
  86. package/es/components/TimePicker/TimePicker.styles.js +24 -4
  87. package/es/components/TimePicker/TimePicker.styles.js.map +1 -1
  88. package/{cjs/components/TimePicker/TimePicker.styles_thn2wn.css → es/components/TimePicker/TimePicker.styles_7l6ler.css} +7 -3
  89. package/es/components/TimePicker/TimePicker.tokens.js +4 -1
  90. package/es/components/TimePicker/TimePicker.tokens.js.map +1 -1
  91. package/es/components/Tooltip/Tooltip.styles.js +5 -5
  92. package/es/components/Tooltip/Tooltip.styles.js.map +1 -1
  93. package/es/components/Tooltip/Tooltip.styles_uldg0s.css +2 -0
  94. package/es/index.css +12 -8
  95. package/package.json +2 -2
  96. package/styled-components/cjs/components/Note/Note.js +1 -1
  97. package/styled-components/cjs/components/Note/variations/_size/base.js +1 -1
  98. package/styled-components/cjs/components/TimePicker/TimePicker.js +259 -6
  99. package/styled-components/cjs/components/TimePicker/TimePicker.styles.js +58 -20
  100. package/styled-components/cjs/components/TimePicker/TimePicker.tokens.js +4 -1
  101. package/styled-components/cjs/components/Tooltip/Tooltip.styles.js +9 -9
  102. package/styled-components/es/components/Note/Note.js +1 -1
  103. package/styled-components/es/components/Note/variations/_size/base.js +1 -1
  104. package/styled-components/es/components/TimePicker/TimePicker.js +261 -8
  105. package/styled-components/es/components/TimePicker/TimePicker.styles.js +46 -20
  106. package/styled-components/es/components/TimePicker/TimePicker.tokens.js +4 -1
  107. package/styled-components/es/components/Tooltip/Tooltip.styles.js +9 -9
  108. package/types/components/Note/Note.d.ts +4 -4
  109. package/types/components/Note/Note.d.ts.map +1 -1
  110. package/types/components/Note/Note.types.d.ts +2 -2
  111. package/types/components/Note/Note.types.d.ts.map +1 -1
  112. package/types/components/TimePicker/TimePicker.d.ts.map +1 -1
  113. package/types/components/TimePicker/TimePicker.styles.d.ts +4 -0
  114. package/types/components/TimePicker/TimePicker.styles.d.ts.map +1 -1
  115. package/types/components/TimePicker/TimePicker.tokens.d.ts +3 -0
  116. package/types/components/TimePicker/TimePicker.tokens.d.ts.map +1 -1
  117. package/types/components/Tooltip/Tooltip.styles.d.ts.map +1 -1
  118. package/types/examples/components/Note/Note.d.ts +2 -2
  119. package/cjs/components/Tooltip/Tooltip.styles_1bh0sd0.css +0 -2
  120. package/es/components/Tooltip/Tooltip.styles_1bh0sd0.css +0 -2
@@ -251,6 +251,15 @@ var timePickerRoot = function(Root) {
251
251
  var minutesColumnRef = (0, _react.useRef)(null);
252
252
  var secondsColumnRef = (0, _react.useRef)(null);
253
253
  var timeItemRefs = (0, _react.useRef)({});
254
+ var hoursScrollbarRef = (0, _react.useRef)(null);
255
+ var minutesScrollbarRef = (0, _react.useRef)(null);
256
+ var secondsScrollbarRef = (0, _react.useRef)(null);
257
+ var hoursThumbRef = (0, _react.useRef)(null);
258
+ var minutesThumbRef = (0, _react.useRef)(null);
259
+ var secondsThumbRef = (0, _react.useRef)(null);
260
+ var hoursHideTimeoutRef = (0, _react.useRef)(null);
261
+ var minutesHideTimeoutRef = (0, _react.useRef)(null);
262
+ var secondsHideTimeoutRef = (0, _react.useRef)(null);
254
263
  var _useState = _sliced_to_array((0, _react.useState)(opened), 2), isInnerOpen = _useState[0], setIsInnerOpen = _useState[1];
255
264
  var _useState1 = _sliced_to_array((0, _react.useState)(outerValue || ''), 2), innerTime = _useState1[0], setInnerTime = _useState1[1];
256
265
  var _useState2 = _sliced_to_array((0, _react.useState)({
@@ -261,11 +270,154 @@ var timePickerRoot = function(Root) {
261
270
  }), 2), activeTime = _useState2[0], setActiveTime = _useState2[1];
262
271
  var _useState3 = _sliced_to_array((0, _react.useState)(0), 2), itemHeight = _useState3[0], setItemHeight = _useState3[1];
263
272
  var _useState4 = _sliced_to_array((0, _react.useState)(0), 2), gap = _useState4[0], setGap = _useState4[1];
273
+ var _useState5 = _sliced_to_array((0, _react.useState)({
274
+ isVisible: false,
275
+ thumbHeight: 0,
276
+ thumbPosition: 0,
277
+ isDragging: false
278
+ }), 2), hoursScrollbar = _useState5[0], setHoursScrollbar = _useState5[1];
279
+ var _useState6 = _sliced_to_array((0, _react.useState)({
280
+ isVisible: false,
281
+ thumbHeight: 0,
282
+ thumbPosition: 0,
283
+ isDragging: false
284
+ }), 2), minutesScrollbar = _useState6[0], setMinutesScrollbar = _useState6[1];
285
+ var _useState7 = _sliced_to_array((0, _react.useState)({
286
+ isVisible: false,
287
+ thumbHeight: 0,
288
+ thumbPosition: 0,
289
+ isDragging: false
290
+ }), 2), secondsScrollbar = _useState7[0], setSecondsScrollbar = _useState7[1];
264
291
  var viewValue = outerValue !== null && outerValue !== void 0 ? outerValue : innerTime;
265
292
  var format = columnsQuantity === 3 ? 'HH:mm:ss' : 'HH:mm';
266
293
  var hours = (0, _utils1.range)(24);
267
294
  var minutes = (0, _utils1.range)(60);
268
295
  var seconds = (0, _utils1.range)(60);
296
+ var calculateScrollbar = (0, _react.useCallback)(function(columnRef) {
297
+ if (!columnRef.current) return {
298
+ thumbHeight: 0,
299
+ thumbPosition: 0
300
+ };
301
+ var _columnRef_current = columnRef.current, scrollTop = _columnRef_current.scrollTop, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
302
+ var trackHeight = clientHeight;
303
+ var thumbHeight = Math.max(trackHeight / scrollHeight * trackHeight, 20); // Минимальная высота 20px
304
+ var maxScroll = scrollHeight - clientHeight;
305
+ var thumbPosition = maxScroll > 0 ? scrollTop / maxScroll * (trackHeight - thumbHeight) : 0;
306
+ return {
307
+ thumbHeight: thumbHeight,
308
+ thumbPosition: thumbPosition
309
+ };
310
+ }, []);
311
+ var showScrollbarWithDelay = (0, _react.useCallback)(function(setScrollbar, timeoutRef, columnRef) {
312
+ if (timeoutRef.current) {
313
+ clearTimeout(timeoutRef.current);
314
+ }
315
+ updateScrollbar(columnRef, setScrollbar, true);
316
+ timeoutRef.current = setTimeout(function() {
317
+ setScrollbar(function(prev) {
318
+ return _object_spread_props(_object_spread({}, prev), {
319
+ isVisible: false
320
+ });
321
+ });
322
+ timeoutRef.current = null;
323
+ }, 2000);
324
+ }, []);
325
+ var updateScrollbar = (0, _react.useCallback)(function(columnRef, setScrollbar) {
326
+ var show = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
327
+ if (!columnRef.current) return;
328
+ var _calculateScrollbar = calculateScrollbar(columnRef), thumbHeight = _calculateScrollbar.thumbHeight, thumbPosition = _calculateScrollbar.thumbPosition;
329
+ setScrollbar(function(prev) {
330
+ return _object_spread_props(_object_spread({}, prev), {
331
+ thumbHeight: thumbHeight,
332
+ thumbPosition: thumbPosition,
333
+ isVisible: show || prev.isVisible
334
+ });
335
+ });
336
+ }, [
337
+ calculateScrollbar
338
+ ]);
339
+ var handleColumnScroll = (0, _react.useCallback)(function(columnRef, setScrollbar, timeoutRef) {
340
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
341
+ }, [
342
+ showScrollbarWithDelay
343
+ ]);
344
+ var createScrollbarDragHandler = (0, _react.useCallback)(function(columnRef, setScrollbar, timeoutRef) {
345
+ return function(e) {
346
+ e.preventDefault();
347
+ var thumb = e.currentTarget;
348
+ var track = thumb.parentElement;
349
+ if (!columnRef.current || !track) return;
350
+ if (timeoutRef.current) {
351
+ clearTimeout(timeoutRef.current);
352
+ timeoutRef.current = null;
353
+ }
354
+ var startY = e.clientY;
355
+ var startThumbPosition = parseFloat(thumb.style.top || '0');
356
+ var trackRect = track.getBoundingClientRect();
357
+ var trackHeight = trackRect.height;
358
+ var thumbHeight = thumb.offsetHeight;
359
+ var _columnRef_current = columnRef.current, scrollHeight = _columnRef_current.scrollHeight, clientHeight = _columnRef_current.clientHeight;
360
+ var maxScroll = scrollHeight - clientHeight;
361
+ var handleMouseMove = function(moveEvent) {
362
+ var deltaY = moveEvent.clientY - startY;
363
+ var newThumbPosition = Math.max(0, Math.min(trackHeight - thumbHeight, startThumbPosition + deltaY));
364
+ var scrollPercentage = newThumbPosition / (trackHeight - thumbHeight);
365
+ var newScrollTop = scrollPercentage * maxScroll;
366
+ if (columnRef.current) {
367
+ columnRef.current.scrollTop = newScrollTop;
368
+ }
369
+ setScrollbar(function(prev) {
370
+ return _object_spread_props(_object_spread({}, prev), {
371
+ thumbPosition: newThumbPosition,
372
+ isDragging: true,
373
+ isVisible: true
374
+ });
375
+ });
376
+ };
377
+ var handleMouseUp = function() {
378
+ document.removeEventListener('mousemove', handleMouseMove);
379
+ document.removeEventListener('mouseup', handleMouseUp);
380
+ setScrollbar(function(prev) {
381
+ return _object_spread_props(_object_spread({}, prev), {
382
+ isDragging: false
383
+ });
384
+ });
385
+ showScrollbarWithDelay(setScrollbar, timeoutRef, columnRef);
386
+ };
387
+ document.addEventListener('mousemove', handleMouseMove);
388
+ document.addEventListener('mouseup', handleMouseUp);
389
+ };
390
+ }, [
391
+ showScrollbarWithDelay
392
+ ]);
393
+ (0, _react.useEffect)(function() {
394
+ return function() {
395
+ [
396
+ hoursHideTimeoutRef,
397
+ minutesHideTimeoutRef,
398
+ secondsHideTimeoutRef
399
+ ].forEach(function(timeoutRef) {
400
+ if (timeoutRef.current) {
401
+ clearTimeout(timeoutRef.current);
402
+ }
403
+ });
404
+ };
405
+ }, []);
406
+ (0, _react.useEffect)(function() {
407
+ if (isInnerOpen) {
408
+ setTimeout(function() {
409
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
410
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
411
+ if (columnsQuantity === 3) {
412
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
413
+ }
414
+ }, 100);
415
+ }
416
+ }, [
417
+ isInnerOpen,
418
+ columnsQuantity,
419
+ updateScrollbar
420
+ ]);
269
421
  (0, _react.useEffect)(function() {
270
422
  if (viewValue) {
271
423
  var timeString = viewValue;
@@ -314,6 +466,15 @@ var timePickerRoot = function(Root) {
314
466
  if (columnRef.current && index !== null) {
315
467
  var scrollPosition = index * (itemHeight + gap);
316
468
  (0, _utils1.animateScrollTo)(columnRef.current, scrollPosition);
469
+ setTimeout(function() {
470
+ if (columnRef === hoursColumnRef) {
471
+ updateScrollbar(hoursColumnRef, setHoursScrollbar);
472
+ } else if (columnRef === minutesColumnRef) {
473
+ updateScrollbar(minutesColumnRef, setMinutesScrollbar);
474
+ } else if (columnRef === secondsColumnRef) {
475
+ updateScrollbar(secondsColumnRef, setSecondsScrollbar);
476
+ }
477
+ }, 300);
317
478
  }
318
479
  };
319
480
  scrollToActiveItem(hoursColumnRef, activeTime.hours);
@@ -322,7 +483,83 @@ var timePickerRoot = function(Root) {
322
483
  }, [
323
484
  activeTime,
324
485
  isInnerOpen,
325
- itemHeight
486
+ itemHeight,
487
+ gap,
488
+ updateScrollbar
489
+ ]);
490
+ (0, _react.useEffect)(function() {
491
+ var hoursColumn = hoursColumnRef.current;
492
+ var minutesColumn = minutesColumnRef.current;
493
+ var secondsColumn = secondsColumnRef.current;
494
+ var handleHoursScroll = function() {
495
+ return handleColumnScroll(hoursColumnRef, setHoursScrollbar, hoursHideTimeoutRef);
496
+ };
497
+ var handleMinutesScroll = function() {
498
+ return handleColumnScroll(minutesColumnRef, setMinutesScrollbar, minutesHideTimeoutRef);
499
+ };
500
+ var handleSecondsScroll = function() {
501
+ return handleColumnScroll(secondsColumnRef, setSecondsScrollbar, secondsHideTimeoutRef);
502
+ };
503
+ if (hoursColumn) {
504
+ hoursColumn.addEventListener('scroll', handleHoursScroll);
505
+ }
506
+ if (minutesColumn) {
507
+ minutesColumn.addEventListener('scroll', handleMinutesScroll);
508
+ }
509
+ if (secondsColumn) {
510
+ secondsColumn.addEventListener('scroll', handleSecondsScroll);
511
+ }
512
+ return function() {
513
+ if (hoursColumn) {
514
+ hoursColumn.removeEventListener('scroll', handleHoursScroll);
515
+ }
516
+ if (minutesColumn) {
517
+ minutesColumn.removeEventListener('scroll', handleMinutesScroll);
518
+ }
519
+ if (secondsColumn) {
520
+ secondsColumn.removeEventListener('scroll', handleSecondsScroll);
521
+ }
522
+ };
523
+ }, [
524
+ isInnerOpen,
525
+ handleColumnScroll
526
+ ]);
527
+ (0, _react.useEffect)(function() {
528
+ var hoursColumn = hoursColumnRef.current;
529
+ var minutesColumn = minutesColumnRef.current;
530
+ var secondsColumn = secondsColumnRef.current;
531
+ var handleHoursMouseEnter = function() {
532
+ return showScrollbarWithDelay(setHoursScrollbar, hoursHideTimeoutRef, hoursColumnRef);
533
+ };
534
+ var handleMinutesMouseEnter = function() {
535
+ return showScrollbarWithDelay(setMinutesScrollbar, minutesHideTimeoutRef, minutesColumnRef);
536
+ };
537
+ var handleSecondsMouseEnter = function() {
538
+ return showScrollbarWithDelay(setSecondsScrollbar, secondsHideTimeoutRef, secondsColumnRef);
539
+ };
540
+ if (hoursColumn) {
541
+ hoursColumn.addEventListener('mouseenter', handleHoursMouseEnter);
542
+ }
543
+ if (minutesColumn) {
544
+ minutesColumn.addEventListener('mouseenter', handleMinutesMouseEnter);
545
+ }
546
+ if (secondsColumn) {
547
+ secondsColumn.addEventListener('mouseenter', handleSecondsMouseEnter);
548
+ }
549
+ return function() {
550
+ if (hoursColumn) {
551
+ hoursColumn.removeEventListener('mouseenter', handleHoursMouseEnter);
552
+ }
553
+ if (minutesColumn) {
554
+ minutesColumn.removeEventListener('mouseenter', handleMinutesMouseEnter);
555
+ }
556
+ if (secondsColumn) {
557
+ secondsColumn.removeEventListener('mouseenter', handleSecondsMouseEnter);
558
+ }
559
+ };
560
+ }, [
561
+ isInnerOpen,
562
+ showScrollbarWithDelay
326
563
  ]);
327
564
  var handleToggle = function() {
328
565
  if (disabled || readonly) return;
@@ -567,11 +804,17 @@ var timePickerRoot = function(Root) {
567
804
  labelPlacement: labelPlacement,
568
805
  keepPlaceholder: keepPlaceholder
569
806
  });
570
- var renderTimeColumn = function(values, column, columnRef) {
571
- return /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimeColumn, {
807
+ var renderTimeColumn = function(values, column, columnRef, scrollbarState, setScrollbar, scrollbarRef, thumbRef, timeoutRef) {
808
+ return /*#__PURE__*/ _react.default.createElement("div", {
809
+ style: {
810
+ position: 'relative',
811
+ width: '100%'
812
+ }
813
+ }, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimeColumn, {
572
814
  key: column,
573
815
  ref: columnRef,
574
- height: dropdownHeight
816
+ height: dropdownHeight,
817
+ className: _TimePickertokens.classes.timeColumn
575
818
  }, values.map(function(value, index) {
576
819
  return /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimeItem, {
577
820
  key: value,
@@ -586,7 +829,17 @@ var timePickerRoot = function(Root) {
586
829
  return handleTimeItemKeyDown(e, column, value);
587
830
  }
588
831
  }, value);
589
- }));
832
+ }), /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledEmpty, null)), /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.CustomScrollbar, {
833
+ ref: scrollbarRef,
834
+ className: (0, _classnames.default)(_define_property({}, _TimePickertokens.classes.scrollbarVisible, scrollbarState.isVisible))
835
+ }, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.ScrollbarTrack, null, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.ScrollbarThumb, {
836
+ ref: thumbRef,
837
+ style: {
838
+ height: "".concat(scrollbarState.thumbHeight, "px"),
839
+ top: "".concat(scrollbarState.thumbPosition, "px")
840
+ },
841
+ onMouseDown: createScrollbarDragHandler(columnRef, setScrollbar, timeoutRef)
842
+ }))));
590
843
  };
591
844
  return /*#__PURE__*/ _react.default.createElement(Root, _object_spread({
592
845
  stretched: stretched,
@@ -619,7 +872,7 @@ var timePickerRoot = function(Root) {
619
872
  stretched: stretched
620
873
  }, /*#__PURE__*/ _react.default.createElement(_TimePickerstyles.StyledTimePicker, {
621
874
  width: dropdownWidth
622
- }, renderTimeColumn(hours, 'hours', hoursColumnRef), renderTimeColumn(minutes, 'minutes', minutesColumnRef), columnsQuantity === 3 && renderTimeColumn(seconds, 'seconds', secondsColumnRef)))));
875
+ }, renderTimeColumn(hours, 'hours', hoursColumnRef, hoursScrollbar, setHoursScrollbar, hoursScrollbarRef, hoursThumbRef, hoursHideTimeoutRef), renderTimeColumn(minutes, 'minutes', minutesColumnRef, minutesScrollbar, setMinutesScrollbar, minutesScrollbarRef, minutesThumbRef, minutesHideTimeoutRef), columnsQuantity === 3 && renderTimeColumn(seconds, 'seconds', secondsColumnRef, secondsScrollbar, setSecondsScrollbar, secondsScrollbarRef, secondsThumbRef, secondsHideTimeoutRef)))));
623
876
  });
624
877
  };
625
878
  var timePickerConfig = {
@@ -9,6 +9,18 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ get CustomScrollbar () {
13
+ return CustomScrollbar;
14
+ },
15
+ get ScrollbarThumb () {
16
+ return ScrollbarThumb;
17
+ },
18
+ get ScrollbarTrack () {
19
+ return ScrollbarTrack;
20
+ },
21
+ get StyledEmpty () {
22
+ return StyledEmpty;
23
+ },
12
24
  get StyledInput () {
13
25
  return StyledInput;
14
26
  },
@@ -80,13 +92,13 @@ var mergedPopoverConfig = (0, _engines.mergeConfig)(_Popover.popoverConfig);
80
92
  var Popover = (0, _engines.component)(mergedPopoverConfig);
81
93
  var StyledPopover = (0, _styledcomponents.default)(Popover).withConfig({
82
94
  displayName: "TimePicker.styles__StyledPopover",
83
- componentId: "sc-45298523-0"
95
+ componentId: "sc-919eca14-0"
84
96
  })([
85
97
  ""
86
98
  ]);
87
99
  var StyledInput = (0, _styledcomponents.default)(TextField).withConfig({
88
100
  displayName: "TimePicker.styles__StyledInput",
89
- componentId: "sc-45298523-1"
101
+ componentId: "sc-919eca14-1"
90
102
  })([
91
103
  "width:100%;",
92
104
  ":var(",
@@ -246,25 +258,26 @@ var base = (0, _styledcomponents.css)([
246
258
  ], _TimePickertokens.tokens.width, _Popover.popoverClasses.wrapper, _Popover.popoverClasses.target, _TimePickertokens.classes.timePickerstretched, _Popover.popoverClasses.root, _TimePickertokens.classes.timePickerFullWidth);
247
259
  var StyledTimePicker = _styledcomponents.default.div.withConfig({
248
260
  displayName: "TimePicker.styles__StyledTimePicker",
249
- componentId: "sc-45298523-2"
261
+ componentId: "sc-919eca14-2"
250
262
  })([
251
263
  "background:var(",
252
264
  ");border-radius:var(",
253
265
  ");width:",
254
266
  ";display:flex;padding:var(",
255
- ");flex:1 1 1;box-sizing:border-box;position:relative;"
267
+ ");flex:1 1 1;gap:var(",
268
+ ");box-sizing:border-box;position:relative;"
256
269
  ], _TimePickertokens.tokens.timePickerBackground, _TimePickertokens.tokens.timePickerBorderRadius, function(param) {
257
270
  var width = param.width;
258
271
  return (width === 'fullWidth' ? "var(".concat(_TimePickertokens.tokens.width, ")") : width) || "var(".concat(_TimePickertokens.tokens.timePickerWidth, ")");
259
- }, _TimePickertokens.tokens.timePickerPadding);
272
+ }, _TimePickertokens.tokens.timePickerPadding, _TimePickertokens.tokens.scrollbarWidth);
260
273
  var StyledTimeItem = _styledcomponents.default.div.withConfig({
261
274
  displayName: "TimePicker.styles__StyledTimeItem",
262
- componentId: "sc-45298523-3"
275
+ componentId: "sc-919eca14-3"
263
276
  })([
264
277
  "height:var(",
265
278
  ");padding:var(",
266
279
  ");box-sizing:border-box;display:flex;justify-content:center;align-items:center;transition:0.05s;border-radius:var(",
267
- ");cursor:pointer;flex-shrink:0;font-family:var(",
280
+ ");cursor:pointer;flex-shrink:0;overflow:auto;font-family:var(",
268
281
  ");font-size:var(",
269
282
  ");font-style:var(",
270
283
  ");font-weight:var(",
@@ -277,24 +290,49 @@ var StyledTimeItem = _styledcomponents.default.div.withConfig({
277
290
  ], _TimePickertokens.tokens.itemHeight, _TimePickertokens.tokens.itemPadding, _TimePickertokens.tokens.itemBorderRadius, _TimePickertokens.tokens.itemFontFamily, _TimePickertokens.tokens.itemFontSize, _TimePickertokens.tokens.itemFontStyle, _TimePickertokens.tokens.itemFontWeight, _TimePickertokens.tokens.itemLetterSpacing, _TimePickertokens.tokens.itemLineHeight, _TimePickertokens.tokens.itemHoverBackground, _TimePickertokens.classes.timeItemActive, _TimePickertokens.tokens.itemActiveBackground);
278
291
  var StyledTimeColumn = _styledcomponents.default.div.withConfig({
279
292
  displayName: "TimePicker.styles__StyledTimeColumn",
280
- componentId: "sc-45298523-4"
293
+ componentId: "sc-919eca14-4"
281
294
  })([
282
295
  "max-height:",
283
- ";overflow-y:scroll;flex:1;z-index:3;margin:calc(var(",
284
- ") / 2);box-sizing:border-box;display:flex;flex-direction:column;gap:var(",
296
+ ";overflow-y:scroll;flex:1;z-index:3;box-sizing:border-box;display:flex;flex-direction:column;gap:var(",
285
297
  ");width:100%;&.",
286
298
  "{border:0.125rem solid var(",
287
299
  ");border-radius:var(",
288
- ");}&::-webkit-scrollbar{width:var(",
289
- ");height:var(",
290
- ");}&::-webkit-scrollbar-track{background:var(",
291
- ");border-radius:var(",
292
- ");margin-top:var(",
293
- ");margin-bottom:var(",
294
- ");}&::-webkit-scrollbar-thumb{background:var(",
295
- ");border-radius:var(",
296
- ");}"
300
+ ");}scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none;width:0;}"
297
301
  ], function(param) {
298
302
  var height = param.height;
299
303
  return height || "var(".concat(_TimePickertokens.tokens.columnHeight, ")");
300
- }, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.timeColumnActive, _TimePickertokens.tokens.itemHoverBackground, _TimePickertokens.tokens.itemBorderRadius, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarTrackColor, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarWidth);
304
+ }, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.timeColumnActive, _TimePickertokens.tokens.itemHoverBackground, _TimePickertokens.tokens.itemBorderRadius);
305
+ var CustomScrollbar = _styledcomponents.default.div.withConfig({
306
+ displayName: "TimePicker.styles__CustomScrollbar",
307
+ componentId: "sc-919eca14-5"
308
+ })([
309
+ "position:absolute;top:var(",
310
+ ");right:0;bottom:var(",
311
+ ");width:var(",
312
+ ");opacity:0;transition:opacity 0.3s ease;pointer-events:none;z-index:10;overflow:hidden;&.",
313
+ "{opacity:1;pointer-events:auto;}"
314
+ ], _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarMargin, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.classes.scrollbarVisible);
315
+ var ScrollbarTrack = _styledcomponents.default.div.withConfig({
316
+ displayName: "TimePicker.styles__ScrollbarTrack",
317
+ componentId: "sc-919eca14-6"
318
+ })([
319
+ "position:relative;width:100%;height:100%;background:var(",
320
+ ");border-radius:var(",
321
+ ");"
322
+ ], _TimePickertokens.tokens.scrollbarTrackColor, _TimePickertokens.tokens.scrollbarWidth);
323
+ var ScrollbarThumb = _styledcomponents.default.div.withConfig({
324
+ displayName: "TimePicker.styles__ScrollbarThumb",
325
+ componentId: "sc-919eca14-7"
326
+ })([
327
+ "position:absolute;top:0;left:0;width:100%;background:var(",
328
+ ");border-radius:var(",
329
+ ");cursor:pointer;transition:background-color 0.2s ease;&:hover{background:var(",
330
+ ");}&:active{background:var(",
331
+ ");}"
332
+ ], _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarWidth, _TimePickertokens.tokens.scrollbarColor, _TimePickertokens.tokens.scrollbarTrackColor);
333
+ var StyledEmpty = _styledcomponents.default.div.withConfig({
334
+ displayName: "TimePicker.styles__StyledEmpty",
335
+ componentId: "sc-919eca14-8"
336
+ })([
337
+ "width:100%;height:0%.125rem;"
338
+ ]);
@@ -25,7 +25,10 @@ var classes = {
25
25
  timeItemActive: 'plasma-time-picker-item-active',
26
26
  timePickerFullWidth: 'plasma-time-picker-full-width',
27
27
  timePickerActive: 'plasma-time-picker-active',
28
- timeColumnActive: 'plasma-time-picker-column-active'
28
+ timeColumnActive: 'plasma-time-picker-column-active',
29
+ timeColumn: 'plasma-time-picker-column',
30
+ timeColumnScrolling: 'plasma-time-picker-column-scrolling',
31
+ scrollbarVisible: 'plasma-time-picker-scrollbar-visible'
29
32
  };
30
33
  var tokens = {
31
34
  width: '--plasma-time-picker-width',
@@ -25,14 +25,16 @@ function _interop_require_default(obj) {
25
25
  }
26
26
  var TooltipRoot = _styledcomponents.default.div.withConfig({
27
27
  displayName: "Tooltip.styles__TooltipRoot",
28
- componentId: "sc-e6446bfb-0"
28
+ componentId: "sc-7a496a90-0"
29
29
  })([
30
- "padding:var(",
30
+ "display:flex;align-items:center;padding:var(",
31
31
  ") var(",
32
32
  ") var(",
33
33
  ") var(",
34
34
  ");min-height:var(",
35
- ");box-sizing:border-box;background-color:var(",
35
+ ");max-width:",
36
+ ";min-width:",
37
+ ";width:max-content;background-color:var(",
36
38
  ");border-radius:var(",
37
39
  ");box-shadow:var(",
38
40
  ");color:var(",
@@ -42,19 +44,17 @@ var TooltipRoot = _styledcomponents.default.div.withConfig({
42
44
  ");font-weight:var(",
43
45
  ");letter-spacing:var(",
44
46
  ");line-height:var(",
45
- ");max-width:",
46
- ";min-width:",
47
- ";width:max-content;word-break:break-word;pointer-events:none;display:flex;align-items:center;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;"
48
- ], _Tooltiptokens.tokens.paddingTop, _Tooltiptokens.tokens.paddingRight, _Tooltiptokens.tokens.paddingBottom, _Tooltiptokens.tokens.paddingLeft, _Tooltiptokens.tokens.minHeight, _Tooltiptokens.tokens.backgroundColor, _Tooltiptokens.tokens.borderRadius, _Tooltiptokens.tokens.boxShadow, _Tooltiptokens.tokens.color, _Tooltiptokens.tokens.textFontFamily, _Tooltiptokens.tokens.textFontSize, _Tooltiptokens.tokens.textFontStyle, _Tooltiptokens.tokens.textFontWeight, _Tooltiptokens.tokens.textFontLetterSpacing, _Tooltiptokens.tokens.textFontLineHeight, function(param) {
47
+ ");box-sizing:border-box;word-break:break-word;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;"
48
+ ], _Tooltiptokens.tokens.paddingTop, _Tooltiptokens.tokens.paddingRight, _Tooltiptokens.tokens.paddingBottom, _Tooltiptokens.tokens.paddingLeft, _Tooltiptokens.tokens.minHeight, function(param) {
49
49
  var maxWidth = param.maxWidth;
50
50
  return maxWidth || 'unset';
51
51
  }, function(param) {
52
52
  var minWidth = param.minWidth;
53
53
  return minWidth || 'unset';
54
- });
54
+ }, _Tooltiptokens.tokens.backgroundColor, _Tooltiptokens.tokens.borderRadius, _Tooltiptokens.tokens.boxShadow, _Tooltiptokens.tokens.color, _Tooltiptokens.tokens.textFontFamily, _Tooltiptokens.tokens.textFontSize, _Tooltiptokens.tokens.textFontStyle, _Tooltiptokens.tokens.textFontWeight, _Tooltiptokens.tokens.textFontLetterSpacing, _Tooltiptokens.tokens.textFontLineHeight);
55
55
  var StyledContentLeft = _styledcomponents.default.div.withConfig({
56
56
  displayName: "Tooltip.styles__StyledContentLeft",
57
- componentId: "sc-e6446bfb-1"
57
+ componentId: "sc-7a496a90-1"
58
58
  })([
59
59
  "display:flex;align-items:center;margin-right:var(",
60
60
  ");height:var(",
@@ -160,7 +160,7 @@ export var noteRoot = function(Root) {
160
160
  var contentWidthWithOffsetToken = contentBefore ? "calc(100% - ".concat(contentBeforeWidth, " - var(").concat(contentGapToken, "))") : '100%';
161
161
  var setTruncatedText = function() {
162
162
  var _titleHelperRef_current;
163
- if (!canUseDOM || !text || !(contentWrapperRef === null || contentWrapperRef === void 0 ? void 0 : contentWrapperRef.current) || !(textRenderHelperRef === null || textRenderHelperRef === void 0 ? void 0 : textRenderHelperRef.current) || !width && !height) {
163
+ if (!canUseDOM || !text || typeof text !== 'string' || !(contentWrapperRef === null || contentWrapperRef === void 0 ? void 0 : contentWrapperRef.current) || !(textRenderHelperRef === null || textRenderHelperRef === void 0 ? void 0 : textRenderHelperRef.current) || !width && !height) {
164
164
  return;
165
165
  }
166
166
  var contentHeight = contentWrapperRef.current.offsetHeight;
@@ -36,5 +36,5 @@ export var base = css([
36
36
  ");font-weight:var(",
37
37
  ");letter-spacing:var(",
38
38
  ");line-height:var(",
39
- ");word-break:break-all;}"
39
+ ");overflow-wrap:break-word;}"
40
40
  ], tokens.padding, tokens.borderRadius, privateTokens.height, privateTokens.width, tokens.gap, classes.stretch, ContentBefore, tokens.fixedContentBeforeWidth, tokens.fixedContentBeforeHeight, tokens.fixedContentBeforePadding, classes.contentAlignCenter, tokens.paddingScalable, tokens.gapScalable, ContentBefore, ContentWrapper, privateTokens.contentWidthWithOffset, tokens.contentGap, Title, TitleHelper, tokens.titleLineHeight, tokens.titleFontFamily, tokens.titleFontSize, tokens.titleFontStyle, tokens.titleFontWeight, tokens.titleLetterSpacing, tokens.titleLineHeight, Text, TextHelper, tokens.textFontFamily, tokens.textFontSize, tokens.textFontStyle, tokens.textFontWeight, tokens.textLetterSpacing, tokens.textLineHeight);