@carbon/react 1.44.0-rc.0 → 1.45.0-rc.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.
- package/.playwright/INTERNAL_AVT_REPORT_DO_NOT_USE.json +1009 -1050
- package/es/components/Accordion/AccordionItem.d.ts +1 -1
- package/es/components/Accordion/AccordionItem.js +19 -15
- package/es/components/Checkbox/Checkbox.d.ts +4 -0
- package/es/components/Checkbox/Checkbox.js +15 -2
- package/es/components/CheckboxGroup/CheckboxGroup.js +17 -2
- package/es/components/ComboBox/ComboBox.d.ts +1 -1
- package/es/components/ComboBox/ComboBox.js +1 -1
- package/es/components/ComboButton/index.js +1 -1
- package/es/components/ComposedModal/ModalFooter.d.ts +2 -1
- package/es/components/DataTable/DataTable.d.ts +2 -0
- package/es/components/DataTable/DataTable.js +3 -0
- package/es/components/DataTable/TableExpandRow.js +20 -3
- package/es/components/DataTable/TableHeader.d.ts +5 -0
- package/es/components/DataTable/TableHeader.js +30 -6
- package/es/components/DataTable/TableSlugRow.d.ts +31 -0
- package/es/components/DataTable/TableSlugRow.js +49 -0
- package/es/components/DataTable/index.d.ts +2 -1
- package/es/components/DataTable/index.js +3 -0
- package/es/components/DataTable/tools/sorting.js +1 -1
- package/es/components/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/es/components/DatePickerInput/DatePickerInput.js +1 -1
- package/es/components/Dropdown/Dropdown.d.ts +1 -1
- package/es/components/Dropdown/Dropdown.js +1 -1
- package/es/components/FileUploader/FileUploader.js +5 -3
- package/es/components/Grid/Column.js +11 -1
- package/es/components/InlineLoading/InlineLoading.d.ts +68 -0
- package/es/components/InlineLoading/InlineLoading.js +4 -4
- package/es/components/InlineLoading/index.d.ts +9 -0
- package/es/components/Layer/LayerContext.d.ts +8 -0
- package/es/components/Layer/LayerLevel.d.ts +5 -0
- package/es/components/Layer/LayerLevel.js +12 -0
- package/es/components/Layer/index.d.ts +38 -0
- package/es/components/Layer/index.js +9 -8
- package/es/components/Menu/MenuItem.js +2 -1
- package/es/components/MenuButton/index.js +8 -2
- package/es/components/Modal/Modal.d.ts +3 -2
- package/es/components/MultiSelect/FilterableMultiSelect.js +1 -1
- package/es/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/MultiSelect.js +1 -1
- package/es/components/Notification/Notification.js +1 -0
- package/es/components/NumberInput/NumberInput.d.ts +1 -1
- package/es/components/NumberInput/NumberInput.js +1 -1
- package/es/components/RadioButton/RadioButton.d.ts +4 -0
- package/es/components/RadioButton/RadioButton.js +15 -2
- package/es/components/RadioButtonGroup/RadioButtonGroup.d.ts +4 -0
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +17 -2
- package/es/components/Select/Select.d.ts +2 -2
- package/es/components/Select/Select.js +1 -1
- package/es/components/Slider/Slider.Skeleton.js +17 -3
- package/es/components/Slider/Slider.js +132 -93
- package/es/components/Slider/SliderHandles.d.ts +4 -0
- package/es/components/Slider/SliderHandles.js +65 -0
- package/es/components/Slug/index.js +1 -1
- package/es/components/Tabs/Tabs.js +1 -1
- package/es/components/TextArea/TextArea.d.ts +7 -3
- package/es/components/TextArea/TextArea.js +84 -17
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +1 -1
- package/es/components/Tile/Tile.d.ts +37 -0
- package/es/components/Tile/Tile.js +114 -13
- package/es/components/Tooltip/Tooltip.js +48 -2
- package/es/components/UIShell/Content.d.ts +296 -0
- package/es/components/UIShell/Content.js +1 -2
- package/es/components/UIShell/HeaderPanel.d.ts +36 -0
- package/es/components/UIShell/HeaderPanel.js +6 -6
- package/es/components/UIShell/SideNav.d.ts +1 -1
- package/es/index.js +2 -1
- package/es/internal/useAnnouncer.js +2 -1
- package/es/internal/useNoInteractiveChildren.js +2 -6
- package/lib/components/Accordion/AccordionItem.d.ts +1 -1
- package/lib/components/Accordion/AccordionItem.js +18 -14
- package/lib/components/Checkbox/Checkbox.d.ts +4 -0
- package/lib/components/Checkbox/Checkbox.js +15 -2
- package/lib/components/CheckboxGroup/CheckboxGroup.js +17 -2
- package/lib/components/ComboBox/ComboBox.d.ts +1 -1
- package/lib/components/ComboBox/ComboBox.js +1 -1
- package/lib/components/ComboButton/index.js +1 -1
- package/lib/components/ComposedModal/ModalFooter.d.ts +2 -1
- package/lib/components/DataTable/DataTable.d.ts +2 -0
- package/lib/components/DataTable/DataTable.js +3 -0
- package/lib/components/DataTable/TableExpandRow.js +20 -3
- package/lib/components/DataTable/TableHeader.d.ts +5 -0
- package/lib/components/DataTable/TableHeader.js +29 -5
- package/lib/components/DataTable/TableSlugRow.d.ts +31 -0
- package/lib/components/DataTable/TableSlugRow.js +59 -0
- package/lib/components/DataTable/index.d.ts +2 -1
- package/lib/components/DataTable/index.js +3 -0
- package/lib/components/DataTable/tools/sorting.js +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.js +1 -1
- package/lib/components/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/Dropdown/Dropdown.js +1 -1
- package/lib/components/FileUploader/FileUploader.js +5 -3
- package/lib/components/Grid/Column.js +11 -1
- package/lib/components/InlineLoading/InlineLoading.d.ts +68 -0
- package/lib/components/InlineLoading/InlineLoading.js +4 -4
- package/lib/components/InlineLoading/index.d.ts +9 -0
- package/lib/components/Layer/LayerContext.d.ts +8 -0
- package/lib/components/Layer/LayerLevel.d.ts +5 -0
- package/lib/components/Layer/LayerLevel.js +18 -0
- package/lib/components/Layer/index.d.ts +38 -0
- package/lib/components/Layer/index.js +10 -9
- package/lib/components/Menu/MenuItem.js +2 -1
- package/lib/components/MenuButton/index.js +8 -2
- package/lib/components/Modal/Modal.d.ts +3 -2
- package/lib/components/MultiSelect/FilterableMultiSelect.js +1 -1
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +1 -1
- package/lib/components/Notification/Notification.js +1 -0
- package/lib/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/components/NumberInput/NumberInput.js +1 -1
- package/lib/components/RadioButton/RadioButton.d.ts +4 -0
- package/lib/components/RadioButton/RadioButton.js +15 -2
- package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +4 -0
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +17 -2
- package/lib/components/Select/Select.d.ts +2 -2
- package/lib/components/Select/Select.js +1 -1
- package/lib/components/Slider/Slider.Skeleton.js +17 -3
- package/lib/components/Slider/Slider.js +132 -93
- package/lib/components/Slider/SliderHandles.d.ts +4 -0
- package/lib/components/Slider/SliderHandles.js +76 -0
- package/lib/components/Slug/index.js +1 -1
- package/lib/components/Tabs/Tabs.js +1 -1
- package/lib/components/TextArea/TextArea.d.ts +7 -3
- package/lib/components/TextArea/TextArea.js +83 -16
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +1 -1
- package/lib/components/Tile/Tile.d.ts +37 -0
- package/lib/components/Tile/Tile.js +114 -13
- package/lib/components/Tooltip/Tooltip.js +47 -1
- package/lib/components/UIShell/Content.d.ts +296 -0
- package/lib/components/UIShell/Content.js +1 -2
- package/lib/components/UIShell/HeaderPanel.d.ts +36 -0
- package/lib/components/UIShell/HeaderPanel.js +7 -7
- package/lib/components/UIShell/SideNav.d.ts +1 -1
- package/lib/index.js +4 -2
- package/lib/internal/useAnnouncer.js +2 -1
- package/lib/internal/useNoInteractiveChildren.js +2 -6
- package/package.json +5 -8
|
@@ -16,62 +16,59 @@ import deprecate from '../../prop-types/deprecate.js';
|
|
|
16
16
|
import { FeatureFlagContext } from '../FeatureFlags/index.js';
|
|
17
17
|
import { WarningFilled, WarningAltFilled } from '@carbon/icons-react';
|
|
18
18
|
import '../Text/index.js';
|
|
19
|
+
import '../Tooltip/DefinitionTooltip.js';
|
|
20
|
+
import { Tooltip } from '../Tooltip/Tooltip.js';
|
|
21
|
+
import { LowerHandle, LowerHandleFocus, UpperHandle, UpperHandleFocus } from './SliderHandles.js';
|
|
19
22
|
import { matches } from '../../internal/keyboard/match.js';
|
|
20
23
|
import { Text } from '../Text/Text.js';
|
|
21
24
|
|
|
22
|
-
var
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
d: "M.92 24H0v-6.46h.92z"
|
|
70
|
-
})), _path13 || (_path13 = /*#__PURE__*/React__default.createElement("path", {
|
|
71
|
-
d: "M16 24h-.92V0H16zM.92 24H0V0h.92z"
|
|
72
|
-
})), _path14 || (_path14 = /*#__PURE__*/React__default.createElement("path", {
|
|
73
|
-
d: "M16 23.08V24H0v-.92zM16 0v.92H0V0z"
|
|
74
|
-
}))));
|
|
25
|
+
var _LowerHandle, _LowerHandleFocus, _UpperHandle, _UpperHandleFocus, _UpperHandle2, _UpperHandleFocus2, _LowerHandle2, _LowerHandleFocus2;
|
|
26
|
+
const ThumbWrapper = _ref => {
|
|
27
|
+
let {
|
|
28
|
+
hasTooltip = false,
|
|
29
|
+
className,
|
|
30
|
+
style,
|
|
31
|
+
children,
|
|
32
|
+
...rest
|
|
33
|
+
} = _ref;
|
|
34
|
+
if (hasTooltip) {
|
|
35
|
+
return (
|
|
36
|
+
/*#__PURE__*/
|
|
37
|
+
// eslint-disable-next-line react/forbid-component-props
|
|
38
|
+
React__default.createElement(Tooltip, _extends({
|
|
39
|
+
className: className,
|
|
40
|
+
style: style
|
|
41
|
+
}, rest), children)
|
|
42
|
+
);
|
|
43
|
+
} else {
|
|
44
|
+
return (
|
|
45
|
+
/*#__PURE__*/
|
|
46
|
+
// eslint-disable-next-line react/forbid-dom-props
|
|
47
|
+
React__default.createElement("div", {
|
|
48
|
+
className: className,
|
|
49
|
+
style: style
|
|
50
|
+
}, children)
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
ThumbWrapper.propTypes = {
|
|
55
|
+
/**
|
|
56
|
+
* The thumb node itself.
|
|
57
|
+
*/
|
|
58
|
+
children: PropTypes.node,
|
|
59
|
+
/**
|
|
60
|
+
* CSS wrapper class names.
|
|
61
|
+
*/
|
|
62
|
+
className: PropTypes.string,
|
|
63
|
+
/**
|
|
64
|
+
* Should the thumb show a tooltip with the current value?
|
|
65
|
+
*/
|
|
66
|
+
hasTooltip: PropTypes.bool.isRequired,
|
|
67
|
+
/**
|
|
68
|
+
* Percentage offset for the select thumb value.
|
|
69
|
+
*/
|
|
70
|
+
style: PropTypes.object
|
|
71
|
+
};
|
|
75
72
|
const translationIds = {
|
|
76
73
|
autoCorrectAnnouncement: 'carbon.slider.auto-correct-announcement'
|
|
77
74
|
};
|
|
@@ -148,6 +145,12 @@ class Slider extends PureComponent {
|
|
|
148
145
|
return;
|
|
149
146
|
}
|
|
150
147
|
|
|
148
|
+
// We're going to force focus on one of the handles later on here, b/c we're
|
|
149
|
+
// firing on a mousedown event, we need to call event.preventDefault() to
|
|
150
|
+
// keep the focus from leaving the HTMLElement.
|
|
151
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#notes
|
|
152
|
+
evt.preventDefault();
|
|
153
|
+
|
|
151
154
|
// Register drag stop handlers
|
|
152
155
|
DRAG_STOP_EVENT_TYPES.forEach(element => {
|
|
153
156
|
this.element?.ownerDocument.addEventListener(element, this.onDragStop);
|
|
@@ -160,14 +163,34 @@ class Slider extends PureComponent {
|
|
|
160
163
|
const clientX = this.getClientXFromEvent(evt);
|
|
161
164
|
let activeHandle;
|
|
162
165
|
if (this.hasTwoHandles()) {
|
|
163
|
-
|
|
164
|
-
const distanceToUpper = this.calcDistanceToHandle(HandlePosition.UPPER, clientX);
|
|
165
|
-
if (distanceToLower <= distanceToUpper) {
|
|
166
|
+
if (evt.target == this.thumbRef.current) {
|
|
166
167
|
activeHandle = HandlePosition.LOWER;
|
|
167
|
-
} else {
|
|
168
|
+
} else if (evt.target == this.thumbRefUpper.current) {
|
|
168
169
|
activeHandle = HandlePosition.UPPER;
|
|
170
|
+
} else {
|
|
171
|
+
const distanceToLower = this.calcDistanceToHandle(HandlePosition.LOWER, clientX);
|
|
172
|
+
const distanceToUpper = this.calcDistanceToHandle(HandlePosition.UPPER, clientX);
|
|
173
|
+
if (distanceToLower <= distanceToUpper) {
|
|
174
|
+
activeHandle = HandlePosition.LOWER;
|
|
175
|
+
} else {
|
|
176
|
+
activeHandle = HandlePosition.UPPER;
|
|
177
|
+
}
|
|
169
178
|
}
|
|
170
179
|
}
|
|
180
|
+
|
|
181
|
+
// Force focus to the appropriate handle.
|
|
182
|
+
const focusOptions = {
|
|
183
|
+
preventScroll: true
|
|
184
|
+
};
|
|
185
|
+
if (this.hasTwoHandles()) {
|
|
186
|
+
if (this.thumbRef.current && activeHandle === HandlePosition.LOWER) {
|
|
187
|
+
this.thumbRef.current.focus(focusOptions);
|
|
188
|
+
} else if (this.thumbRefUpper.current && activeHandle === HandlePosition.UPPER) {
|
|
189
|
+
this.thumbRefUpper.current.focus(focusOptions);
|
|
190
|
+
}
|
|
191
|
+
} else if (this.thumbRef.current) {
|
|
192
|
+
this.thumbRef.current.focus(focusOptions);
|
|
193
|
+
}
|
|
171
194
|
this.setState({
|
|
172
195
|
activeHandle
|
|
173
196
|
});
|
|
@@ -465,12 +488,12 @@ class Slider extends PureComponent {
|
|
|
465
488
|
}
|
|
466
489
|
}
|
|
467
490
|
});
|
|
468
|
-
_defineProperty(this, "calcLeftPercent",
|
|
491
|
+
_defineProperty(this, "calcLeftPercent", _ref2 => {
|
|
469
492
|
let {
|
|
470
493
|
clientX,
|
|
471
494
|
value,
|
|
472
495
|
range
|
|
473
|
-
} =
|
|
496
|
+
} = _ref2;
|
|
474
497
|
const boundingRect = this.element?.getBoundingClientRect?.();
|
|
475
498
|
let width = boundingRect ? boundingRect.right - boundingRect.left : 0;
|
|
476
499
|
|
|
@@ -492,11 +515,11 @@ class Slider extends PureComponent {
|
|
|
492
515
|
// re-assure Typescript, return 0.
|
|
493
516
|
return 0;
|
|
494
517
|
});
|
|
495
|
-
_defineProperty(this, "calcSteppedValuePercent",
|
|
518
|
+
_defineProperty(this, "calcSteppedValuePercent", _ref3 => {
|
|
496
519
|
let {
|
|
497
520
|
leftPercent,
|
|
498
521
|
range
|
|
499
|
-
} =
|
|
522
|
+
} = _ref3;
|
|
500
523
|
const {
|
|
501
524
|
step = 1
|
|
502
525
|
} = this.props;
|
|
@@ -525,12 +548,12 @@ class Slider extends PureComponent {
|
|
|
525
548
|
* clientX is not provided.
|
|
526
549
|
* @param {boolean} [params.useRawValue=false] `true` to use the given value as-is.
|
|
527
550
|
*/
|
|
528
|
-
_defineProperty(this, "calcValue",
|
|
551
|
+
_defineProperty(this, "calcValue", _ref4 => {
|
|
529
552
|
let {
|
|
530
553
|
clientX,
|
|
531
554
|
value,
|
|
532
555
|
useRawValue = false
|
|
533
|
-
} =
|
|
556
|
+
} = _ref4;
|
|
534
557
|
const range = this.props.max - this.props.min;
|
|
535
558
|
|
|
536
559
|
// @todo solve for rtl.
|
|
@@ -581,11 +604,11 @@ class Slider extends PureComponent {
|
|
|
581
604
|
*
|
|
582
605
|
* Guards against setting either lower or upper values beyond its counterpart.
|
|
583
606
|
*/
|
|
584
|
-
_defineProperty(this, "setValueLeftForHandle", (handle,
|
|
607
|
+
_defineProperty(this, "setValueLeftForHandle", (handle, _ref5) => {
|
|
585
608
|
let {
|
|
586
609
|
value: newValue,
|
|
587
610
|
left: newLeft
|
|
588
|
-
} =
|
|
611
|
+
} = _ref5;
|
|
589
612
|
const {
|
|
590
613
|
value,
|
|
591
614
|
valueUpper,
|
|
@@ -620,13 +643,13 @@ class Slider extends PureComponent {
|
|
|
620
643
|
});
|
|
621
644
|
}
|
|
622
645
|
});
|
|
623
|
-
_defineProperty(this, "isValidValueForPosition",
|
|
646
|
+
_defineProperty(this, "isValidValueForPosition", _ref6 => {
|
|
624
647
|
let {
|
|
625
648
|
handle,
|
|
626
649
|
value: newValue,
|
|
627
650
|
min,
|
|
628
651
|
max
|
|
629
|
-
} =
|
|
652
|
+
} = _ref6;
|
|
630
653
|
const {
|
|
631
654
|
value,
|
|
632
655
|
valueUpper
|
|
@@ -645,21 +668,21 @@ class Slider extends PureComponent {
|
|
|
645
668
|
}
|
|
646
669
|
return false;
|
|
647
670
|
});
|
|
648
|
-
_defineProperty(this, "isValidValue",
|
|
671
|
+
_defineProperty(this, "isValidValue", _ref7 => {
|
|
649
672
|
let {
|
|
650
673
|
value,
|
|
651
674
|
min,
|
|
652
675
|
max
|
|
653
|
-
} =
|
|
676
|
+
} = _ref7;
|
|
654
677
|
return !(value < min || value > max);
|
|
655
678
|
});
|
|
656
|
-
_defineProperty(this, "getAdjustedValueForPosition",
|
|
679
|
+
_defineProperty(this, "getAdjustedValueForPosition", _ref8 => {
|
|
657
680
|
let {
|
|
658
681
|
handle,
|
|
659
682
|
value: newValue,
|
|
660
683
|
min,
|
|
661
684
|
max
|
|
662
|
-
} =
|
|
685
|
+
} = _ref8;
|
|
663
686
|
const {
|
|
664
687
|
value,
|
|
665
688
|
valueUpper
|
|
@@ -678,12 +701,12 @@ class Slider extends PureComponent {
|
|
|
678
701
|
}
|
|
679
702
|
return newValue;
|
|
680
703
|
});
|
|
681
|
-
_defineProperty(this, "getAdjustedValue",
|
|
704
|
+
_defineProperty(this, "getAdjustedValue", _ref9 => {
|
|
682
705
|
let {
|
|
683
706
|
value,
|
|
684
707
|
min,
|
|
685
708
|
max
|
|
686
|
-
} =
|
|
709
|
+
} = _ref9;
|
|
687
710
|
if (value < min) {
|
|
688
711
|
value = min;
|
|
689
712
|
}
|
|
@@ -768,22 +791,10 @@ class Slider extends PureComponent {
|
|
|
768
791
|
// Fire onChange event handler if present, if there's a usable value, and
|
|
769
792
|
// if the value is different from the last one
|
|
770
793
|
if (this.hasTwoHandles()) {
|
|
771
|
-
if (this.thumbRef.current) {
|
|
772
|
-
this.thumbRef.current.style.insetInlineStart = `${this.state.left}%`;
|
|
773
|
-
if (this.state.isRtl) {
|
|
774
|
-
this.thumbRef.current.style.transform = `translate(100%, -50%)`;
|
|
775
|
-
}
|
|
776
|
-
}
|
|
777
|
-
if (this.thumbRefUpper.current) {
|
|
778
|
-
this.thumbRefUpper.current.style.insetInlineStart = `${this.state.leftUpper}%`;
|
|
779
|
-
}
|
|
780
794
|
if (this.filledTrackRef.current) {
|
|
781
795
|
this.filledTrackRef.current.style.transform = this.state.isRtl ? `translate(${100 - this.state.leftUpper}%, -50%) scaleX(${(this.state.leftUpper - this.state.left) / 100})` : `translate(${this.state.left}%, -50%) scaleX(${(this.state.leftUpper - this.state.left) / 100})`;
|
|
782
796
|
}
|
|
783
797
|
} else {
|
|
784
|
-
if (this.thumbRef.current) {
|
|
785
|
-
this.thumbRef.current.style.insetInlineStart = this.state.isRtl ? `calc(${this.state.left}% - 14px)` : `${this.state.left}%`;
|
|
786
|
-
}
|
|
787
798
|
if (this.filledTrackRef.current) {
|
|
788
799
|
this.filledTrackRef.current.style.transform = this.state.isRtl ? `translate(100%, -50%) scaleX(-${this.state.left / 100})` : `translate(0%, -50%) scaleX(${this.state.left / 100})`;
|
|
789
800
|
}
|
|
@@ -977,7 +988,8 @@ class Slider extends PureComponent {
|
|
|
977
988
|
const containerClasses = cx(`${prefix}--slider-container`, {
|
|
978
989
|
[`${prefix}--slider-container--two-handles`]: twoHandles,
|
|
979
990
|
[`${prefix}--slider-container--disabled`]: disabled,
|
|
980
|
-
[`${prefix}--slider-container--readonly`]: readOnly
|
|
991
|
+
[`${prefix}--slider-container--readonly`]: readOnly,
|
|
992
|
+
[`${prefix}--slider-container--rtl`]: isRtl
|
|
981
993
|
});
|
|
982
994
|
const sliderClasses = cx(`${prefix}--slider`, {
|
|
983
995
|
[`${prefix}--slider--disabled`]: disabled,
|
|
@@ -985,8 +997,7 @@ class Slider extends PureComponent {
|
|
|
985
997
|
});
|
|
986
998
|
const fixedInputClasses = [`${prefix}--text-input`, `${prefix}--slider-text-input`];
|
|
987
999
|
const conditionalInputClasses = {
|
|
988
|
-
[`${prefix}--text-input--light`]: light
|
|
989
|
-
[`${prefix}--slider-text-input--hidden`]: hideTextInput
|
|
1000
|
+
[`${prefix}--text-input--light`]: light
|
|
990
1001
|
};
|
|
991
1002
|
const lowerInputClasses = cx([...fixedInputClasses, `${prefix}--slider-text-input--lower`, conditionalInputClasses, {
|
|
992
1003
|
[`${prefix}--text-input--invalid`]: !readOnly && !isValid,
|
|
@@ -997,10 +1008,12 @@ class Slider extends PureComponent {
|
|
|
997
1008
|
[`${prefix}--slider-text-input--warn`]: showWarningUpper
|
|
998
1009
|
}]);
|
|
999
1010
|
const lowerInputWrapperClasses = cx([`${prefix}--text-input-wrapper`, `${prefix}--slider-text-input-wrapper`, `${prefix}--slider-text-input-wrapper--lower`, {
|
|
1000
|
-
[`${prefix}--text-input-wrapper--readonly`]: readOnly
|
|
1011
|
+
[`${prefix}--text-input-wrapper--readonly`]: readOnly,
|
|
1012
|
+
[`${prefix}--slider-text-input-wrapper--hidden`]: hideTextInput
|
|
1001
1013
|
}]);
|
|
1002
1014
|
const upperInputWrapperClasses = cx([`${prefix}--text-input-wrapper`, `${prefix}--slider-text-input-wrapper`, `${prefix}--slider-text-input-wrapper--upper`, {
|
|
1003
|
-
[`${prefix}--text-input-wrapper--readonly`]: readOnly
|
|
1015
|
+
[`${prefix}--text-input-wrapper--readonly`]: readOnly,
|
|
1016
|
+
[`${prefix}--slider-text-input-wrapper--hidden`]: hideTextInput
|
|
1004
1017
|
}]);
|
|
1005
1018
|
const lowerThumbClasses = cx(`${prefix}--slider__thumb`, {
|
|
1006
1019
|
[`${prefix}--slider__thumb--lower`]: twoHandles
|
|
@@ -1008,6 +1021,22 @@ class Slider extends PureComponent {
|
|
|
1008
1021
|
const upperThumbClasses = cx(`${prefix}--slider__thumb`, {
|
|
1009
1022
|
[`${prefix}--slider__thumb--upper`]: twoHandles
|
|
1010
1023
|
});
|
|
1024
|
+
const lowerThumbWrapperClasses = cx([`${prefix}--icon-tooltip`, `${prefix}--slider__thumb-wrapper`, {
|
|
1025
|
+
[`${prefix}--slider__thumb-wrapper--lower`]: twoHandles
|
|
1026
|
+
}]);
|
|
1027
|
+
const upperThumbWrapperClasses = cx([`${prefix}--icon-tooltip`, `${prefix}--slider__thumb-wrapper`, {
|
|
1028
|
+
[`${prefix}--slider__thumb-wrapper--upper`]: twoHandles
|
|
1029
|
+
}]);
|
|
1030
|
+
const lowerThumbWrapperProps = {
|
|
1031
|
+
style: {
|
|
1032
|
+
insetInlineStart: `${this.state.left}%`
|
|
1033
|
+
}
|
|
1034
|
+
};
|
|
1035
|
+
const upperThumbWrapperProps = {
|
|
1036
|
+
style: {
|
|
1037
|
+
insetInlineStart: `${this.state.leftUpper}%`
|
|
1038
|
+
}
|
|
1039
|
+
};
|
|
1011
1040
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
1012
1041
|
className: cx(`${prefix}--form-item`, className)
|
|
1013
1042
|
}, /*#__PURE__*/React__default.createElement(Text, {
|
|
@@ -1056,7 +1085,12 @@ class Slider extends PureComponent {
|
|
|
1056
1085
|
role: "presentation",
|
|
1057
1086
|
tabIndex: -1,
|
|
1058
1087
|
"data-invalid": (twoHandles ? !isValid || !isValidUpper : !isValid) && !readOnly ? true : null
|
|
1059
|
-
}, other), /*#__PURE__*/React__default.createElement(
|
|
1088
|
+
}, other), /*#__PURE__*/React__default.createElement(ThumbWrapper, _extends({
|
|
1089
|
+
hasTooltip: hideTextInput,
|
|
1090
|
+
className: lowerThumbWrapperClasses,
|
|
1091
|
+
label: `${value}`,
|
|
1092
|
+
align: twoHandles ? 'top-right' : 'top'
|
|
1093
|
+
}, lowerThumbWrapperProps), /*#__PURE__*/React__default.createElement("div", {
|
|
1060
1094
|
className: lowerThumbClasses,
|
|
1061
1095
|
role: "slider",
|
|
1062
1096
|
id: twoHandles ? undefined : id,
|
|
@@ -1070,7 +1104,12 @@ class Slider extends PureComponent {
|
|
|
1070
1104
|
onFocus: () => this.setState({
|
|
1071
1105
|
activeHandle: HandlePosition.LOWER
|
|
1072
1106
|
})
|
|
1073
|
-
}, twoHandles && !isRtl
|
|
1107
|
+
}, twoHandles && !isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _LowerHandle || (_LowerHandle = /*#__PURE__*/React__default.createElement(LowerHandle, null)), _LowerHandleFocus || (_LowerHandleFocus = /*#__PURE__*/React__default.createElement(LowerHandleFocus, null))) : twoHandles && isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _UpperHandle || (_UpperHandle = /*#__PURE__*/React__default.createElement(UpperHandle, null)), _UpperHandleFocus || (_UpperHandleFocus = /*#__PURE__*/React__default.createElement(UpperHandleFocus, null))) : undefined)), twoHandles ? /*#__PURE__*/React__default.createElement(ThumbWrapper, _extends({
|
|
1108
|
+
hasTooltip: hideTextInput,
|
|
1109
|
+
className: upperThumbWrapperClasses,
|
|
1110
|
+
label: `${valueUpper}`,
|
|
1111
|
+
align: "top-left"
|
|
1112
|
+
}, upperThumbWrapperProps), /*#__PURE__*/React__default.createElement("div", {
|
|
1074
1113
|
className: upperThumbClasses,
|
|
1075
1114
|
role: "slider",
|
|
1076
1115
|
tabIndex: !readOnly ? 0 : -1,
|
|
@@ -1082,7 +1121,7 @@ class Slider extends PureComponent {
|
|
|
1082
1121
|
onFocus: () => this.setState({
|
|
1083
1122
|
activeHandle: HandlePosition.UPPER
|
|
1084
1123
|
})
|
|
1085
|
-
}, twoHandles && !isRtl
|
|
1124
|
+
}, twoHandles && !isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _UpperHandle2 || (_UpperHandle2 = /*#__PURE__*/React__default.createElement(UpperHandle, null)), _UpperHandleFocus2 || (_UpperHandleFocus2 = /*#__PURE__*/React__default.createElement(UpperHandleFocus, null))) : twoHandles && isRtl ? /*#__PURE__*/React__default.createElement(React__default.Fragment, null, _LowerHandle2 || (_LowerHandle2 = /*#__PURE__*/React__default.createElement(LowerHandle, null)), _LowerHandleFocus2 || (_LowerHandleFocus2 = /*#__PURE__*/React__default.createElement(LowerHandleFocus, null))) : undefined)) : null, /*#__PURE__*/React__default.createElement("div", {
|
|
1086
1125
|
className: `${prefix}--slider__track`,
|
|
1087
1126
|
ref: node => {
|
|
1088
1127
|
this.track = node;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2016, 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { PrefixContext } from '../../internal/usePrefix.js';
|
|
9
|
+
import React__default from 'react';
|
|
10
|
+
|
|
11
|
+
var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14;
|
|
12
|
+
const LowerHandle = () => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", {
|
|
13
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
+
viewBox: "0 0 16 24",
|
|
15
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower`
|
|
16
|
+
}, _path || (_path = /*#__PURE__*/React__default.createElement("path", {
|
|
17
|
+
d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
|
|
18
|
+
})), _path2 || (_path2 = /*#__PURE__*/React__default.createElement("path", {
|
|
19
|
+
fill: "none",
|
|
20
|
+
d: "M-4 0h24v24H-4z"
|
|
21
|
+
}))));
|
|
22
|
+
const LowerHandleFocus = () => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", {
|
|
23
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
24
|
+
viewBox: "0 0 16 24",
|
|
25
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower ${prefix}--slider__thumb-icon--focus`
|
|
26
|
+
}, _path3 || (_path3 = /*#__PURE__*/React__default.createElement("path", {
|
|
27
|
+
d: "M15.08 6.46H16v11.08h-.92zM4.46 17.54c-.25 0-.46-.21-.46-.46V6.92a.465.465 0 0 1 .69-.4l8.77 5.08a.46.46 0 0 1 0 .8l-8.77 5.08c-.07.04-.15.06-.23.06Z"
|
|
28
|
+
})), _path4 || (_path4 = /*#__PURE__*/React__default.createElement("path", {
|
|
29
|
+
fill: "none",
|
|
30
|
+
d: "M-4 0h24v24H-4z"
|
|
31
|
+
})), _path5 || (_path5 = /*#__PURE__*/React__default.createElement("path", {
|
|
32
|
+
d: "M15.08 0H16v6.46h-.92z"
|
|
33
|
+
})), _path6 || (_path6 = /*#__PURE__*/React__default.createElement("path", {
|
|
34
|
+
d: "M0 0h.92v24H0zM15.08 0H16v24h-.92z"
|
|
35
|
+
})), _path7 || (_path7 = /*#__PURE__*/React__default.createElement("path", {
|
|
36
|
+
d: "M0 .92V0h16v.92zM0 24v-.92h16V24z"
|
|
37
|
+
}))));
|
|
38
|
+
const UpperHandle = () => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", {
|
|
39
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
40
|
+
viewBox: "0 0 16 24",
|
|
41
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper`
|
|
42
|
+
}, _path8 || (_path8 = /*#__PURE__*/React__default.createElement("path", {
|
|
43
|
+
d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
|
|
44
|
+
})), _path9 || (_path9 = /*#__PURE__*/React__default.createElement("path", {
|
|
45
|
+
fill: "none",
|
|
46
|
+
d: "M-4 0h24v24H-4z"
|
|
47
|
+
}))));
|
|
48
|
+
const UpperHandleFocus = () => /*#__PURE__*/React__default.createElement(PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default.createElement("svg", {
|
|
49
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
50
|
+
viewBox: "0 0 16 24",
|
|
51
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper ${prefix}--slider__thumb-icon--focus`
|
|
52
|
+
}, _path10 || (_path10 = /*#__PURE__*/React__default.createElement("path", {
|
|
53
|
+
d: "M0 6.46h.92v11.08H0zM11.54 6.46c.25 0 .46.21.46.46v10.15a.465.465 0 0 1-.69.4L2.54 12.4a.46.46 0 0 1 0-.8l8.77-5.08c.07-.04.15-.06.23-.06Z"
|
|
54
|
+
})), _path11 || (_path11 = /*#__PURE__*/React__default.createElement("path", {
|
|
55
|
+
fill: "none",
|
|
56
|
+
d: "M-4 0h24v24H-4z"
|
|
57
|
+
})), _path12 || (_path12 = /*#__PURE__*/React__default.createElement("path", {
|
|
58
|
+
d: "M.92 24H0v-6.46h.92z"
|
|
59
|
+
})), _path13 || (_path13 = /*#__PURE__*/React__default.createElement("path", {
|
|
60
|
+
d: "M16 24h-.92V0H16zM.92 24H0V0h.92z"
|
|
61
|
+
})), _path14 || (_path14 = /*#__PURE__*/React__default.createElement("path", {
|
|
62
|
+
d: "M16 23.08V24H0v-.92zM16 0v.92H0V0z"
|
|
63
|
+
}))));
|
|
64
|
+
|
|
65
|
+
export { LowerHandle, LowerHandleFocus, UpperHandle, UpperHandleFocus };
|
|
@@ -257,7 +257,7 @@ function TabList(_ref2) {
|
|
|
257
257
|
}
|
|
258
258
|
}, [scrollLeft, children, dismissable]);
|
|
259
259
|
useEffectOnce(() => {
|
|
260
|
-
if (tabs.current[selectedIndex]
|
|
260
|
+
if (tabs.current[selectedIndex]?.disabled) {
|
|
261
261
|
const activeTabs = tabs.current.filter(tab => {
|
|
262
262
|
return !tab.disabled;
|
|
263
263
|
});
|
|
@@ -25,7 +25,7 @@ export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaEle
|
|
|
25
25
|
*/
|
|
26
26
|
disabled?: boolean;
|
|
27
27
|
/**
|
|
28
|
-
* Specify whether to display the
|
|
28
|
+
* Specify whether to display the counter
|
|
29
29
|
*/
|
|
30
30
|
enableCounter?: boolean;
|
|
31
31
|
/**
|
|
@@ -60,7 +60,7 @@ export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaEle
|
|
|
60
60
|
*/
|
|
61
61
|
light?: boolean;
|
|
62
62
|
/**
|
|
63
|
-
* Max
|
|
63
|
+
* Max entity count allowed for the textarea. This is needed in order for enableCounter to display
|
|
64
64
|
*/
|
|
65
65
|
maxCount?: number;
|
|
66
66
|
/**
|
|
@@ -86,7 +86,7 @@ export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaEle
|
|
|
86
86
|
*/
|
|
87
87
|
rows?: number;
|
|
88
88
|
/**
|
|
89
|
-
* Provide a `Slug` component to be rendered inside the `TextArea` component
|
|
89
|
+
* **Experimental**: Provide a `Slug` component to be rendered inside the `TextArea` component
|
|
90
90
|
*/
|
|
91
91
|
slug?: ReactNodeLike;
|
|
92
92
|
/**
|
|
@@ -101,6 +101,10 @@ export interface TextAreaProps extends React.InputHTMLAttributes<HTMLTextAreaEle
|
|
|
101
101
|
* Provide the text that is displayed when the control is in warning state
|
|
102
102
|
*/
|
|
103
103
|
warnText?: ReactNodeLike;
|
|
104
|
+
/**
|
|
105
|
+
* Specify the method used for calculating the counter number
|
|
106
|
+
*/
|
|
107
|
+
counterMode?: 'character' | 'word';
|
|
104
108
|
}
|
|
105
109
|
declare const TextArea: React.ForwardRefExoticComponent<TextAreaProps & React.RefAttributes<unknown>>;
|
|
106
110
|
export default TextArea;
|