@carbon/react 1.44.0 → 1.45.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 +820 -902
- package/es/components/Checkbox/Checkbox.d.ts +1 -1
- package/es/components/Checkbox/Checkbox.js +1 -1
- package/es/components/CheckboxGroup/CheckboxGroup.js +2 -2
- package/es/components/ComboBox/ComboBox.d.ts +1 -1
- package/es/components/ComboBox/ComboBox.js +2 -2
- package/es/components/ComboButton/index.js +1 -1
- package/es/components/ComposedModal/ModalFooter.d.ts +2 -1
- package/es/components/ContentSwitcher/ContentSwitcher.js +1 -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/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/es/components/DatePickerInput/DatePickerInput.js +2 -2
- package/es/components/Dropdown/Dropdown.d.ts +1 -1
- package/es/components/Dropdown/Dropdown.js +2 -2
- 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 +1 -1
- package/es/components/Modal/Modal.d.ts +3 -2
- package/es/components/MultiSelect/FilterableMultiSelect.js +2 -2
- package/es/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/es/components/MultiSelect/MultiSelect.js +5 -2
- package/es/components/Notification/Notification.js +1 -0
- package/es/components/NumberInput/NumberInput.d.ts +1 -1
- package/es/components/NumberInput/NumberInput.js +3 -3
- package/es/components/ProgressIndicator/ProgressIndicator.js +4 -0
- package/es/components/RadioButton/RadioButton.d.ts +1 -1
- package/es/components/RadioButton/RadioButton.js +1 -1
- package/es/components/RadioButtonGroup/RadioButtonGroup.d.ts +1 -1
- package/es/components/RadioButtonGroup/RadioButtonGroup.js +2 -2
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +2 -2
- 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 -0
- package/es/components/Tabs/Tabs.js +1 -1
- package/es/components/Tag/Tag.d.ts +18 -10
- package/es/components/Tag/Tag.js +23 -7
- package/es/components/TextArea/TextArea.d.ts +7 -3
- package/es/components/TextArea/TextArea.js +85 -18
- package/es/components/TextInput/TextInput.d.ts +1 -1
- package/es/components/TextInput/TextInput.js +2 -2
- package/es/components/Tile/Tile.d.ts +8 -8
- package/es/components/Tile/Tile.js +11 -7
- package/es/components/Tooltip/Tooltip.js +48 -2
- package/es/components/UIShell/HeaderPanel.d.ts +36 -0
- package/es/components/UIShell/HeaderPanel.js +6 -6
- package/es/components/UIShell/Switcher.js +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/Checkbox/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox/Checkbox.js +1 -1
- package/lib/components/CheckboxGroup/CheckboxGroup.js +2 -2
- package/lib/components/ComboBox/ComboBox.d.ts +1 -1
- package/lib/components/ComboBox/ComboBox.js +2 -2
- package/lib/components/ComboButton/index.js +1 -1
- package/lib/components/ComposedModal/ModalFooter.d.ts +2 -1
- package/lib/components/ContentSwitcher/ContentSwitcher.js +1 -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/DatePickerInput/DatePickerInput.d.ts +1 -1
- package/lib/components/DatePickerInput/DatePickerInput.js +2 -2
- package/lib/components/Dropdown/Dropdown.d.ts +1 -1
- package/lib/components/Dropdown/Dropdown.js +2 -2
- 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 +1 -1
- package/lib/components/Modal/Modal.d.ts +3 -2
- package/lib/components/MultiSelect/FilterableMultiSelect.js +2 -2
- package/lib/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/lib/components/MultiSelect/MultiSelect.js +5 -2
- package/lib/components/Notification/Notification.js +1 -0
- package/lib/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/components/NumberInput/NumberInput.js +3 -3
- package/lib/components/ProgressIndicator/ProgressIndicator.js +4 -0
- package/lib/components/RadioButton/RadioButton.d.ts +1 -1
- package/lib/components/RadioButton/RadioButton.js +1 -1
- package/lib/components/RadioButtonGroup/RadioButtonGroup.d.ts +1 -1
- package/lib/components/RadioButtonGroup/RadioButtonGroup.js +2 -2
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +2 -2
- 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 -0
- package/lib/components/Tabs/Tabs.js +1 -1
- package/lib/components/Tag/Tag.d.ts +18 -10
- package/lib/components/Tag/Tag.js +23 -7
- package/lib/components/TextArea/TextArea.d.ts +7 -3
- package/lib/components/TextArea/TextArea.js +84 -17
- package/lib/components/TextInput/TextInput.d.ts +1 -1
- package/lib/components/TextInput/TextInput.js +2 -2
- package/lib/components/Tile/Tile.d.ts +8 -8
- package/lib/components/Tile/Tile.js +11 -7
- package/lib/components/Tooltip/Tooltip.js +47 -1
- package/lib/components/UIShell/HeaderPanel.d.ts +36 -0
- package/lib/components/UIShell/HeaderPanel.js +7 -7
- package/lib/components/UIShell/Switcher.js +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 +4 -7
|
@@ -20,6 +20,9 @@ var deprecate = require('../../prop-types/deprecate.js');
|
|
|
20
20
|
var index = require('../FeatureFlags/index.js');
|
|
21
21
|
var iconsReact = require('@carbon/icons-react');
|
|
22
22
|
require('../Text/index.js');
|
|
23
|
+
require('../Tooltip/DefinitionTooltip.js');
|
|
24
|
+
var Tooltip = require('../Tooltip/Tooltip.js');
|
|
25
|
+
var SliderHandles = require('./SliderHandles.js');
|
|
23
26
|
var match = require('../../internal/keyboard/match.js');
|
|
24
27
|
var Text = require('../Text/Text.js');
|
|
25
28
|
|
|
@@ -30,59 +33,53 @@ var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
|
|
|
30
33
|
var cx__default = /*#__PURE__*/_interopDefaultLegacy(cx);
|
|
31
34
|
var throttle__default = /*#__PURE__*/_interopDefaultLegacy(throttle);
|
|
32
35
|
|
|
33
|
-
var
|
|
34
|
-
const
|
|
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
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
d: "M.92 24H0v-6.46h.92z"
|
|
81
|
-
})), _path13 || (_path13 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
82
|
-
d: "M16 24h-.92V0H16zM.92 24H0V0h.92z"
|
|
83
|
-
})), _path14 || (_path14 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
84
|
-
d: "M16 23.08V24H0v-.92zM16 0v.92H0V0z"
|
|
85
|
-
}))));
|
|
36
|
+
var _LowerHandle, _LowerHandleFocus, _UpperHandle, _UpperHandleFocus, _UpperHandle2, _UpperHandleFocus2, _LowerHandle2, _LowerHandleFocus2;
|
|
37
|
+
const ThumbWrapper = _ref => {
|
|
38
|
+
let {
|
|
39
|
+
hasTooltip = false,
|
|
40
|
+
className,
|
|
41
|
+
style,
|
|
42
|
+
children,
|
|
43
|
+
...rest
|
|
44
|
+
} = _ref;
|
|
45
|
+
if (hasTooltip) {
|
|
46
|
+
return (
|
|
47
|
+
/*#__PURE__*/
|
|
48
|
+
// eslint-disable-next-line react/forbid-component-props
|
|
49
|
+
React__default["default"].createElement(Tooltip.Tooltip, _rollupPluginBabelHelpers["extends"]({
|
|
50
|
+
className: className,
|
|
51
|
+
style: style
|
|
52
|
+
}, rest), children)
|
|
53
|
+
);
|
|
54
|
+
} else {
|
|
55
|
+
return (
|
|
56
|
+
/*#__PURE__*/
|
|
57
|
+
// eslint-disable-next-line react/forbid-dom-props
|
|
58
|
+
React__default["default"].createElement("div", {
|
|
59
|
+
className: className,
|
|
60
|
+
style: style
|
|
61
|
+
}, children)
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
ThumbWrapper.propTypes = {
|
|
66
|
+
/**
|
|
67
|
+
* The thumb node itself.
|
|
68
|
+
*/
|
|
69
|
+
children: PropTypes__default["default"].node,
|
|
70
|
+
/**
|
|
71
|
+
* CSS wrapper class names.
|
|
72
|
+
*/
|
|
73
|
+
className: PropTypes__default["default"].string,
|
|
74
|
+
/**
|
|
75
|
+
* Should the thumb show a tooltip with the current value?
|
|
76
|
+
*/
|
|
77
|
+
hasTooltip: PropTypes__default["default"].bool.isRequired,
|
|
78
|
+
/**
|
|
79
|
+
* Percentage offset for the select thumb value.
|
|
80
|
+
*/
|
|
81
|
+
style: PropTypes__default["default"].object
|
|
82
|
+
};
|
|
86
83
|
const translationIds = {
|
|
87
84
|
autoCorrectAnnouncement: 'carbon.slider.auto-correct-announcement'
|
|
88
85
|
};
|
|
@@ -159,6 +156,12 @@ class Slider extends React.PureComponent {
|
|
|
159
156
|
return;
|
|
160
157
|
}
|
|
161
158
|
|
|
159
|
+
// We're going to force focus on one of the handles later on here, b/c we're
|
|
160
|
+
// firing on a mousedown event, we need to call event.preventDefault() to
|
|
161
|
+
// keep the focus from leaving the HTMLElement.
|
|
162
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#notes
|
|
163
|
+
evt.preventDefault();
|
|
164
|
+
|
|
162
165
|
// Register drag stop handlers
|
|
163
166
|
DRAG_STOP_EVENT_TYPES.forEach(element => {
|
|
164
167
|
this.element?.ownerDocument.addEventListener(element, this.onDragStop);
|
|
@@ -171,14 +174,34 @@ class Slider extends React.PureComponent {
|
|
|
171
174
|
const clientX = this.getClientXFromEvent(evt);
|
|
172
175
|
let activeHandle;
|
|
173
176
|
if (this.hasTwoHandles()) {
|
|
174
|
-
|
|
175
|
-
const distanceToUpper = this.calcDistanceToHandle(HandlePosition.UPPER, clientX);
|
|
176
|
-
if (distanceToLower <= distanceToUpper) {
|
|
177
|
+
if (evt.target == this.thumbRef.current) {
|
|
177
178
|
activeHandle = HandlePosition.LOWER;
|
|
178
|
-
} else {
|
|
179
|
+
} else if (evt.target == this.thumbRefUpper.current) {
|
|
179
180
|
activeHandle = HandlePosition.UPPER;
|
|
181
|
+
} else {
|
|
182
|
+
const distanceToLower = this.calcDistanceToHandle(HandlePosition.LOWER, clientX);
|
|
183
|
+
const distanceToUpper = this.calcDistanceToHandle(HandlePosition.UPPER, clientX);
|
|
184
|
+
if (distanceToLower <= distanceToUpper) {
|
|
185
|
+
activeHandle = HandlePosition.LOWER;
|
|
186
|
+
} else {
|
|
187
|
+
activeHandle = HandlePosition.UPPER;
|
|
188
|
+
}
|
|
180
189
|
}
|
|
181
190
|
}
|
|
191
|
+
|
|
192
|
+
// Force focus to the appropriate handle.
|
|
193
|
+
const focusOptions = {
|
|
194
|
+
preventScroll: true
|
|
195
|
+
};
|
|
196
|
+
if (this.hasTwoHandles()) {
|
|
197
|
+
if (this.thumbRef.current && activeHandle === HandlePosition.LOWER) {
|
|
198
|
+
this.thumbRef.current.focus(focusOptions);
|
|
199
|
+
} else if (this.thumbRefUpper.current && activeHandle === HandlePosition.UPPER) {
|
|
200
|
+
this.thumbRefUpper.current.focus(focusOptions);
|
|
201
|
+
}
|
|
202
|
+
} else if (this.thumbRef.current) {
|
|
203
|
+
this.thumbRef.current.focus(focusOptions);
|
|
204
|
+
}
|
|
182
205
|
this.setState({
|
|
183
206
|
activeHandle
|
|
184
207
|
});
|
|
@@ -476,12 +499,12 @@ class Slider extends React.PureComponent {
|
|
|
476
499
|
}
|
|
477
500
|
}
|
|
478
501
|
});
|
|
479
|
-
_rollupPluginBabelHelpers.defineProperty(this, "calcLeftPercent",
|
|
502
|
+
_rollupPluginBabelHelpers.defineProperty(this, "calcLeftPercent", _ref2 => {
|
|
480
503
|
let {
|
|
481
504
|
clientX,
|
|
482
505
|
value,
|
|
483
506
|
range
|
|
484
|
-
} =
|
|
507
|
+
} = _ref2;
|
|
485
508
|
const boundingRect = this.element?.getBoundingClientRect?.();
|
|
486
509
|
let width = boundingRect ? boundingRect.right - boundingRect.left : 0;
|
|
487
510
|
|
|
@@ -503,11 +526,11 @@ class Slider extends React.PureComponent {
|
|
|
503
526
|
// re-assure Typescript, return 0.
|
|
504
527
|
return 0;
|
|
505
528
|
});
|
|
506
|
-
_rollupPluginBabelHelpers.defineProperty(this, "calcSteppedValuePercent",
|
|
529
|
+
_rollupPluginBabelHelpers.defineProperty(this, "calcSteppedValuePercent", _ref3 => {
|
|
507
530
|
let {
|
|
508
531
|
leftPercent,
|
|
509
532
|
range
|
|
510
|
-
} =
|
|
533
|
+
} = _ref3;
|
|
511
534
|
const {
|
|
512
535
|
step = 1
|
|
513
536
|
} = this.props;
|
|
@@ -536,12 +559,12 @@ class Slider extends React.PureComponent {
|
|
|
536
559
|
* clientX is not provided.
|
|
537
560
|
* @param {boolean} [params.useRawValue=false] `true` to use the given value as-is.
|
|
538
561
|
*/
|
|
539
|
-
_rollupPluginBabelHelpers.defineProperty(this, "calcValue",
|
|
562
|
+
_rollupPluginBabelHelpers.defineProperty(this, "calcValue", _ref4 => {
|
|
540
563
|
let {
|
|
541
564
|
clientX,
|
|
542
565
|
value,
|
|
543
566
|
useRawValue = false
|
|
544
|
-
} =
|
|
567
|
+
} = _ref4;
|
|
545
568
|
const range = this.props.max - this.props.min;
|
|
546
569
|
|
|
547
570
|
// @todo solve for rtl.
|
|
@@ -592,11 +615,11 @@ class Slider extends React.PureComponent {
|
|
|
592
615
|
*
|
|
593
616
|
* Guards against setting either lower or upper values beyond its counterpart.
|
|
594
617
|
*/
|
|
595
|
-
_rollupPluginBabelHelpers.defineProperty(this, "setValueLeftForHandle", (handle,
|
|
618
|
+
_rollupPluginBabelHelpers.defineProperty(this, "setValueLeftForHandle", (handle, _ref5) => {
|
|
596
619
|
let {
|
|
597
620
|
value: newValue,
|
|
598
621
|
left: newLeft
|
|
599
|
-
} =
|
|
622
|
+
} = _ref5;
|
|
600
623
|
const {
|
|
601
624
|
value,
|
|
602
625
|
valueUpper,
|
|
@@ -631,13 +654,13 @@ class Slider extends React.PureComponent {
|
|
|
631
654
|
});
|
|
632
655
|
}
|
|
633
656
|
});
|
|
634
|
-
_rollupPluginBabelHelpers.defineProperty(this, "isValidValueForPosition",
|
|
657
|
+
_rollupPluginBabelHelpers.defineProperty(this, "isValidValueForPosition", _ref6 => {
|
|
635
658
|
let {
|
|
636
659
|
handle,
|
|
637
660
|
value: newValue,
|
|
638
661
|
min,
|
|
639
662
|
max
|
|
640
|
-
} =
|
|
663
|
+
} = _ref6;
|
|
641
664
|
const {
|
|
642
665
|
value,
|
|
643
666
|
valueUpper
|
|
@@ -656,21 +679,21 @@ class Slider extends React.PureComponent {
|
|
|
656
679
|
}
|
|
657
680
|
return false;
|
|
658
681
|
});
|
|
659
|
-
_rollupPluginBabelHelpers.defineProperty(this, "isValidValue",
|
|
682
|
+
_rollupPluginBabelHelpers.defineProperty(this, "isValidValue", _ref7 => {
|
|
660
683
|
let {
|
|
661
684
|
value,
|
|
662
685
|
min,
|
|
663
686
|
max
|
|
664
|
-
} =
|
|
687
|
+
} = _ref7;
|
|
665
688
|
return !(value < min || value > max);
|
|
666
689
|
});
|
|
667
|
-
_rollupPluginBabelHelpers.defineProperty(this, "getAdjustedValueForPosition",
|
|
690
|
+
_rollupPluginBabelHelpers.defineProperty(this, "getAdjustedValueForPosition", _ref8 => {
|
|
668
691
|
let {
|
|
669
692
|
handle,
|
|
670
693
|
value: newValue,
|
|
671
694
|
min,
|
|
672
695
|
max
|
|
673
|
-
} =
|
|
696
|
+
} = _ref8;
|
|
674
697
|
const {
|
|
675
698
|
value,
|
|
676
699
|
valueUpper
|
|
@@ -689,12 +712,12 @@ class Slider extends React.PureComponent {
|
|
|
689
712
|
}
|
|
690
713
|
return newValue;
|
|
691
714
|
});
|
|
692
|
-
_rollupPluginBabelHelpers.defineProperty(this, "getAdjustedValue",
|
|
715
|
+
_rollupPluginBabelHelpers.defineProperty(this, "getAdjustedValue", _ref9 => {
|
|
693
716
|
let {
|
|
694
717
|
value,
|
|
695
718
|
min,
|
|
696
719
|
max
|
|
697
|
-
} =
|
|
720
|
+
} = _ref9;
|
|
698
721
|
if (value < min) {
|
|
699
722
|
value = min;
|
|
700
723
|
}
|
|
@@ -779,22 +802,10 @@ class Slider extends React.PureComponent {
|
|
|
779
802
|
// Fire onChange event handler if present, if there's a usable value, and
|
|
780
803
|
// if the value is different from the last one
|
|
781
804
|
if (this.hasTwoHandles()) {
|
|
782
|
-
if (this.thumbRef.current) {
|
|
783
|
-
this.thumbRef.current.style.insetInlineStart = `${this.state.left}%`;
|
|
784
|
-
if (this.state.isRtl) {
|
|
785
|
-
this.thumbRef.current.style.transform = `translate(100%, -50%)`;
|
|
786
|
-
}
|
|
787
|
-
}
|
|
788
|
-
if (this.thumbRefUpper.current) {
|
|
789
|
-
this.thumbRefUpper.current.style.insetInlineStart = `${this.state.leftUpper}%`;
|
|
790
|
-
}
|
|
791
805
|
if (this.filledTrackRef.current) {
|
|
792
806
|
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})`;
|
|
793
807
|
}
|
|
794
808
|
} else {
|
|
795
|
-
if (this.thumbRef.current) {
|
|
796
|
-
this.thumbRef.current.style.insetInlineStart = this.state.isRtl ? `calc(${this.state.left}% - 14px)` : `${this.state.left}%`;
|
|
797
|
-
}
|
|
798
809
|
if (this.filledTrackRef.current) {
|
|
799
810
|
this.filledTrackRef.current.style.transform = this.state.isRtl ? `translate(100%, -50%) scaleX(-${this.state.left / 100})` : `translate(0%, -50%) scaleX(${this.state.left / 100})`;
|
|
800
811
|
}
|
|
@@ -988,7 +999,8 @@ class Slider extends React.PureComponent {
|
|
|
988
999
|
const containerClasses = cx__default["default"](`${prefix}--slider-container`, {
|
|
989
1000
|
[`${prefix}--slider-container--two-handles`]: twoHandles,
|
|
990
1001
|
[`${prefix}--slider-container--disabled`]: disabled,
|
|
991
|
-
[`${prefix}--slider-container--readonly`]: readOnly
|
|
1002
|
+
[`${prefix}--slider-container--readonly`]: readOnly,
|
|
1003
|
+
[`${prefix}--slider-container--rtl`]: isRtl
|
|
992
1004
|
});
|
|
993
1005
|
const sliderClasses = cx__default["default"](`${prefix}--slider`, {
|
|
994
1006
|
[`${prefix}--slider--disabled`]: disabled,
|
|
@@ -996,8 +1008,7 @@ class Slider extends React.PureComponent {
|
|
|
996
1008
|
});
|
|
997
1009
|
const fixedInputClasses = [`${prefix}--text-input`, `${prefix}--slider-text-input`];
|
|
998
1010
|
const conditionalInputClasses = {
|
|
999
|
-
[`${prefix}--text-input--light`]: light
|
|
1000
|
-
[`${prefix}--slider-text-input--hidden`]: hideTextInput
|
|
1011
|
+
[`${prefix}--text-input--light`]: light
|
|
1001
1012
|
};
|
|
1002
1013
|
const lowerInputClasses = cx__default["default"]([...fixedInputClasses, `${prefix}--slider-text-input--lower`, conditionalInputClasses, {
|
|
1003
1014
|
[`${prefix}--text-input--invalid`]: !readOnly && !isValid,
|
|
@@ -1008,10 +1019,12 @@ class Slider extends React.PureComponent {
|
|
|
1008
1019
|
[`${prefix}--slider-text-input--warn`]: showWarningUpper
|
|
1009
1020
|
}]);
|
|
1010
1021
|
const lowerInputWrapperClasses = cx__default["default"]([`${prefix}--text-input-wrapper`, `${prefix}--slider-text-input-wrapper`, `${prefix}--slider-text-input-wrapper--lower`, {
|
|
1011
|
-
[`${prefix}--text-input-wrapper--readonly`]: readOnly
|
|
1022
|
+
[`${prefix}--text-input-wrapper--readonly`]: readOnly,
|
|
1023
|
+
[`${prefix}--slider-text-input-wrapper--hidden`]: hideTextInput
|
|
1012
1024
|
}]);
|
|
1013
1025
|
const upperInputWrapperClasses = cx__default["default"]([`${prefix}--text-input-wrapper`, `${prefix}--slider-text-input-wrapper`, `${prefix}--slider-text-input-wrapper--upper`, {
|
|
1014
|
-
[`${prefix}--text-input-wrapper--readonly`]: readOnly
|
|
1026
|
+
[`${prefix}--text-input-wrapper--readonly`]: readOnly,
|
|
1027
|
+
[`${prefix}--slider-text-input-wrapper--hidden`]: hideTextInput
|
|
1015
1028
|
}]);
|
|
1016
1029
|
const lowerThumbClasses = cx__default["default"](`${prefix}--slider__thumb`, {
|
|
1017
1030
|
[`${prefix}--slider__thumb--lower`]: twoHandles
|
|
@@ -1019,6 +1032,22 @@ class Slider extends React.PureComponent {
|
|
|
1019
1032
|
const upperThumbClasses = cx__default["default"](`${prefix}--slider__thumb`, {
|
|
1020
1033
|
[`${prefix}--slider__thumb--upper`]: twoHandles
|
|
1021
1034
|
});
|
|
1035
|
+
const lowerThumbWrapperClasses = cx__default["default"]([`${prefix}--icon-tooltip`, `${prefix}--slider__thumb-wrapper`, {
|
|
1036
|
+
[`${prefix}--slider__thumb-wrapper--lower`]: twoHandles
|
|
1037
|
+
}]);
|
|
1038
|
+
const upperThumbWrapperClasses = cx__default["default"]([`${prefix}--icon-tooltip`, `${prefix}--slider__thumb-wrapper`, {
|
|
1039
|
+
[`${prefix}--slider__thumb-wrapper--upper`]: twoHandles
|
|
1040
|
+
}]);
|
|
1041
|
+
const lowerThumbWrapperProps = {
|
|
1042
|
+
style: {
|
|
1043
|
+
insetInlineStart: `${this.state.left}%`
|
|
1044
|
+
}
|
|
1045
|
+
};
|
|
1046
|
+
const upperThumbWrapperProps = {
|
|
1047
|
+
style: {
|
|
1048
|
+
insetInlineStart: `${this.state.leftUpper}%`
|
|
1049
|
+
}
|
|
1050
|
+
};
|
|
1022
1051
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1023
1052
|
className: cx__default["default"](`${prefix}--form-item`, className)
|
|
1024
1053
|
}, /*#__PURE__*/React__default["default"].createElement(Text.Text, {
|
|
@@ -1067,7 +1096,12 @@ class Slider extends React.PureComponent {
|
|
|
1067
1096
|
role: "presentation",
|
|
1068
1097
|
tabIndex: -1,
|
|
1069
1098
|
"data-invalid": (twoHandles ? !isValid || !isValidUpper : !isValid) && !readOnly ? true : null
|
|
1070
|
-
}, other), /*#__PURE__*/React__default["default"].createElement("
|
|
1099
|
+
}, other), /*#__PURE__*/React__default["default"].createElement(ThumbWrapper, _rollupPluginBabelHelpers["extends"]({
|
|
1100
|
+
hasTooltip: hideTextInput,
|
|
1101
|
+
className: lowerThumbWrapperClasses,
|
|
1102
|
+
label: `${value}`,
|
|
1103
|
+
align: twoHandles ? 'top-right' : 'top'
|
|
1104
|
+
}, lowerThumbWrapperProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1071
1105
|
className: lowerThumbClasses,
|
|
1072
1106
|
role: "slider",
|
|
1073
1107
|
id: twoHandles ? undefined : id,
|
|
@@ -1081,7 +1115,12 @@ class Slider extends React.PureComponent {
|
|
|
1081
1115
|
onFocus: () => this.setState({
|
|
1082
1116
|
activeHandle: HandlePosition.LOWER
|
|
1083
1117
|
})
|
|
1084
|
-
}, twoHandles && !isRtl
|
|
1118
|
+
}, twoHandles && !isRtl ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, _LowerHandle || (_LowerHandle = /*#__PURE__*/React__default["default"].createElement(SliderHandles.LowerHandle, null)), _LowerHandleFocus || (_LowerHandleFocus = /*#__PURE__*/React__default["default"].createElement(SliderHandles.LowerHandleFocus, null))) : twoHandles && isRtl ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, _UpperHandle || (_UpperHandle = /*#__PURE__*/React__default["default"].createElement(SliderHandles.UpperHandle, null)), _UpperHandleFocus || (_UpperHandleFocus = /*#__PURE__*/React__default["default"].createElement(SliderHandles.UpperHandleFocus, null))) : undefined)), twoHandles ? /*#__PURE__*/React__default["default"].createElement(ThumbWrapper, _rollupPluginBabelHelpers["extends"]({
|
|
1119
|
+
hasTooltip: hideTextInput,
|
|
1120
|
+
className: upperThumbWrapperClasses,
|
|
1121
|
+
label: `${valueUpper}`,
|
|
1122
|
+
align: "top-left"
|
|
1123
|
+
}, upperThumbWrapperProps), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1085
1124
|
className: upperThumbClasses,
|
|
1086
1125
|
role: "slider",
|
|
1087
1126
|
tabIndex: !readOnly ? 0 : -1,
|
|
@@ -1093,7 +1132,7 @@ class Slider extends React.PureComponent {
|
|
|
1093
1132
|
onFocus: () => this.setState({
|
|
1094
1133
|
activeHandle: HandlePosition.UPPER
|
|
1095
1134
|
})
|
|
1096
|
-
}, twoHandles && !isRtl
|
|
1135
|
+
}, twoHandles && !isRtl ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, _UpperHandle2 || (_UpperHandle2 = /*#__PURE__*/React__default["default"].createElement(SliderHandles.UpperHandle, null)), _UpperHandleFocus2 || (_UpperHandleFocus2 = /*#__PURE__*/React__default["default"].createElement(SliderHandles.UpperHandleFocus, null))) : twoHandles && isRtl ? /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, _LowerHandle2 || (_LowerHandle2 = /*#__PURE__*/React__default["default"].createElement(SliderHandles.LowerHandle, null)), _LowerHandleFocus2 || (_LowerHandleFocus2 = /*#__PURE__*/React__default["default"].createElement(SliderHandles.LowerHandleFocus, null))) : undefined)) : null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1097
1136
|
className: `${prefix}--slider__track`,
|
|
1098
1137
|
ref: node => {
|
|
1099
1138
|
this.track = node;
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
11
|
+
|
|
12
|
+
var usePrefix = require('../../internal/usePrefix.js');
|
|
13
|
+
var React = require('react');
|
|
14
|
+
|
|
15
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
16
|
+
|
|
17
|
+
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
18
|
+
|
|
19
|
+
var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14;
|
|
20
|
+
const LowerHandle = () => /*#__PURE__*/React__default["default"].createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
21
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
22
|
+
viewBox: "0 0 16 24",
|
|
23
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower`
|
|
24
|
+
}, _path || (_path = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
25
|
+
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"
|
|
26
|
+
})), _path2 || (_path2 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
27
|
+
fill: "none",
|
|
28
|
+
d: "M-4 0h24v24H-4z"
|
|
29
|
+
}))));
|
|
30
|
+
const LowerHandleFocus = () => /*#__PURE__*/React__default["default"].createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
31
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
32
|
+
viewBox: "0 0 16 24",
|
|
33
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--lower ${prefix}--slider__thumb-icon--focus`
|
|
34
|
+
}, _path3 || (_path3 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
35
|
+
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"
|
|
36
|
+
})), _path4 || (_path4 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
37
|
+
fill: "none",
|
|
38
|
+
d: "M-4 0h24v24H-4z"
|
|
39
|
+
})), _path5 || (_path5 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
40
|
+
d: "M15.08 0H16v6.46h-.92z"
|
|
41
|
+
})), _path6 || (_path6 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
42
|
+
d: "M0 0h.92v24H0zM15.08 0H16v24h-.92z"
|
|
43
|
+
})), _path7 || (_path7 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
44
|
+
d: "M0 .92V0h16v.92zM0 24v-.92h16V24z"
|
|
45
|
+
}))));
|
|
46
|
+
const UpperHandle = () => /*#__PURE__*/React__default["default"].createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
47
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
48
|
+
viewBox: "0 0 16 24",
|
|
49
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper`
|
|
50
|
+
}, _path8 || (_path8 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
51
|
+
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"
|
|
52
|
+
})), _path9 || (_path9 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
53
|
+
fill: "none",
|
|
54
|
+
d: "M-4 0h24v24H-4z"
|
|
55
|
+
}))));
|
|
56
|
+
const UpperHandleFocus = () => /*#__PURE__*/React__default["default"].createElement(usePrefix.PrefixContext.Consumer, null, prefix => /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
57
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
58
|
+
viewBox: "0 0 16 24",
|
|
59
|
+
className: `${prefix}--slider__thumb-icon ${prefix}--slider__thumb-icon--upper ${prefix}--slider__thumb-icon--focus`
|
|
60
|
+
}, _path10 || (_path10 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
61
|
+
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"
|
|
62
|
+
})), _path11 || (_path11 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
63
|
+
fill: "none",
|
|
64
|
+
d: "M-4 0h24v24H-4z"
|
|
65
|
+
})), _path12 || (_path12 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
66
|
+
d: "M.92 24H0v-6.46h.92z"
|
|
67
|
+
})), _path13 || (_path13 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
68
|
+
d: "M16 24h-.92V0H16zM.92 24H0V0h.92z"
|
|
69
|
+
})), _path14 || (_path14 = /*#__PURE__*/React__default["default"].createElement("path", {
|
|
70
|
+
d: "M16 23.08V24H0v-.92zM16 0v.92H0V0z"
|
|
71
|
+
}))));
|
|
72
|
+
|
|
73
|
+
exports.LowerHandle = LowerHandle;
|
|
74
|
+
exports.LowerHandleFocus = LowerHandleFocus;
|
|
75
|
+
exports.UpperHandle = UpperHandle;
|
|
76
|
+
exports.UpperHandleFocus = UpperHandleFocus;
|
|
@@ -135,6 +135,7 @@ const Slug = /*#__PURE__*/React__default["default"].forwardRef(function Slug(_re
|
|
|
135
135
|
className: `${prefix}--slug__additional-text`
|
|
136
136
|
}, aiTextLabel)), children));
|
|
137
137
|
});
|
|
138
|
+
Slug.displayName = 'Slug';
|
|
138
139
|
Slug.propTypes = {
|
|
139
140
|
/**
|
|
140
141
|
* Specify the correct translation of the AI text
|
|
@@ -268,7 +268,7 @@ function TabList(_ref2) {
|
|
|
268
268
|
}
|
|
269
269
|
}, [scrollLeft, children, dismissable]);
|
|
270
270
|
useEffectOnce.useEffectOnce(() => {
|
|
271
|
-
if (tabs.current[selectedIndex]
|
|
271
|
+
if (tabs.current[selectedIndex]?.disabled) {
|
|
272
272
|
const activeTabs = tabs.current.filter(tab => {
|
|
273
273
|
return !tab.disabled;
|
|
274
274
|
});
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import PropTypes from 'prop-types';
|
|
7
|
+
import PropTypes, { ReactNodeLike } from 'prop-types';
|
|
8
8
|
import React from 'react';
|
|
9
9
|
import { PolymorphicProps } from '../../types/common';
|
|
10
10
|
declare const TYPES: {
|
|
@@ -23,7 +23,7 @@ declare const TYPES: {
|
|
|
23
23
|
};
|
|
24
24
|
export interface TagBaseProps {
|
|
25
25
|
/**
|
|
26
|
-
* Provide content to be rendered inside of a
|
|
26
|
+
* Provide content to be rendered inside of a `Tag`
|
|
27
27
|
*/
|
|
28
28
|
children?: React.ReactNode;
|
|
29
29
|
/**
|
|
@@ -31,11 +31,11 @@ export interface TagBaseProps {
|
|
|
31
31
|
*/
|
|
32
32
|
className?: string;
|
|
33
33
|
/**
|
|
34
|
-
* Specify if the
|
|
34
|
+
* Specify if the `Tag` is disabled
|
|
35
35
|
*/
|
|
36
36
|
disabled?: boolean;
|
|
37
37
|
/**
|
|
38
|
-
* Determine if
|
|
38
|
+
* Determine if `Tag` is a filter/chip
|
|
39
39
|
*/
|
|
40
40
|
filter?: boolean;
|
|
41
41
|
/**
|
|
@@ -56,18 +56,22 @@ export interface TagBaseProps {
|
|
|
56
56
|
* 'md' (default) sizes.
|
|
57
57
|
*/
|
|
58
58
|
size?: 'sm' | 'md';
|
|
59
|
+
/**
|
|
60
|
+
* **Experimental:** Provide a `Slug` component to be rendered inside the `Tag` component
|
|
61
|
+
*/
|
|
62
|
+
slug?: ReactNodeLike;
|
|
59
63
|
/**
|
|
60
64
|
* Text to show on clear filters
|
|
61
65
|
*/
|
|
62
66
|
title?: string;
|
|
63
67
|
/**
|
|
64
|
-
* Specify the type of the
|
|
68
|
+
* Specify the type of the `Tag`
|
|
65
69
|
*/
|
|
66
70
|
type?: keyof typeof TYPES;
|
|
67
71
|
}
|
|
68
72
|
export type TagProps<T extends React.ElementType> = PolymorphicProps<T, TagBaseProps>;
|
|
69
73
|
declare const Tag: {
|
|
70
|
-
<T extends React.ElementType<any>>({ children, className, id, type, filter, renderIcon: CustomIconElement, title, disabled, onClose, size, as: BaseComponent, ...other }: TagProps<T>): JSX.Element;
|
|
74
|
+
<T extends React.ElementType<any>>({ children, className, id, type, filter, renderIcon: CustomIconElement, title, disabled, onClose, size, as: BaseComponent, slug, ...other }: TagProps<T>): JSX.Element;
|
|
71
75
|
propTypes: {
|
|
72
76
|
/**
|
|
73
77
|
* Provide an alternative tag or component to use instead of the default
|
|
@@ -75,7 +79,7 @@ declare const Tag: {
|
|
|
75
79
|
*/
|
|
76
80
|
as: PropTypes.Requireable<PropTypes.ReactComponentLike>;
|
|
77
81
|
/**
|
|
78
|
-
* Provide content to be rendered inside of a
|
|
82
|
+
* Provide content to be rendered inside of a `Tag`
|
|
79
83
|
*/
|
|
80
84
|
children: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
81
85
|
/**
|
|
@@ -83,11 +87,11 @@ declare const Tag: {
|
|
|
83
87
|
*/
|
|
84
88
|
className: PropTypes.Requireable<string>;
|
|
85
89
|
/**
|
|
86
|
-
* Specify if the
|
|
90
|
+
* Specify if the `Tag` is disabled
|
|
87
91
|
*/
|
|
88
92
|
disabled: PropTypes.Requireable<boolean>;
|
|
89
93
|
/**
|
|
90
|
-
* Determine if
|
|
94
|
+
* Determine if `Tag` is a filter/chip
|
|
91
95
|
*/
|
|
92
96
|
filter: PropTypes.Requireable<boolean>;
|
|
93
97
|
/**
|
|
@@ -108,12 +112,16 @@ declare const Tag: {
|
|
|
108
112
|
* 'md' (default) sizes.
|
|
109
113
|
*/
|
|
110
114
|
size: PropTypes.Requireable<string>;
|
|
115
|
+
/**
|
|
116
|
+
* **Experimental:** Provide a `Slug` component to be rendered inside the `Tag` component
|
|
117
|
+
*/
|
|
118
|
+
slug: PropTypes.Requireable<PropTypes.ReactNodeLike>;
|
|
111
119
|
/**
|
|
112
120
|
* Text to show on clear filters
|
|
113
121
|
*/
|
|
114
122
|
title: PropTypes.Requireable<string>;
|
|
115
123
|
/**
|
|
116
|
-
* Specify the type of the
|
|
124
|
+
* Specify the type of the `Tag`
|
|
117
125
|
*/
|
|
118
126
|
type: PropTypes.Requireable<string>;
|
|
119
127
|
};
|