@times-design-system/components-react 1.2.1-alpha.7 → 1.3.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/README.md +1 -1
- package/dist/AdContainer/AdContainer.cjs +1 -0
- package/dist/AdContainer/AdContainer.cjs.map +1 -1
- package/dist/AdContainer/AdContainer.js +1 -0
- package/dist/AdContainer/AdContainer.js.map +1 -1
- package/dist/Button/Button.cjs +1 -1
- package/dist/Button/Button.js +1 -1
- package/dist/Button/ButtonContainer.cjs +1 -1
- package/dist/Button/ButtonContainer.js +1 -1
- package/dist/Chip/Chip.cjs +1 -1
- package/dist/Chip/Chip.js +1 -1
- package/dist/DialogBox/DialogBox.d.ts +41 -0
- package/dist/Divider/Divider.cjs +1 -1
- package/dist/Divider/Divider.js +1 -1
- package/dist/Flag/Flag.cjs +1 -1
- package/dist/Flag/Flag.js +1 -1
- package/dist/Icon/Icon.cjs +1 -1
- package/dist/Icon/Icon.js +1 -1
- package/dist/IconButton/IconButton.cjs +1 -1
- package/dist/IconButton/IconButton.js +1 -1
- package/dist/Input/Input.cjs +1 -1
- package/dist/Input/Input.js +1 -1
- package/dist/InputHelperMessage/InputHelperMessage.d.ts +17 -0
- package/dist/Link/Link.cjs +1 -1
- package/dist/Link/Link.js +1 -1
- package/dist/Tab/Tab.d.ts +44 -0
- package/dist/TabGroup/TabGroup.d.ts +26 -0
- package/dist/Text/Text.cjs +16 -14
- package/dist/Text/Text.cjs.map +1 -1
- package/dist/Text/Text.d.ts +35 -9
- package/dist/Text/Text.js +16 -14
- package/dist/Text/Text.js.map +1 -1
- package/dist/Toast/Toast.cjs +1 -1
- package/dist/Toast/Toast.js +1 -1
- package/dist/index.cjs +382 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +382 -5
- package/dist/index.js.map +1 -1
- package/dist/shared/{_rollupPluginBabelHelpers-xUOatjtv.cjs → _rollupPluginBabelHelpers-B3P3Gzh9.cjs} +14 -1
- package/dist/shared/_rollupPluginBabelHelpers-B3P3Gzh9.cjs.map +1 -0
- package/dist/shared/{_rollupPluginBabelHelpers-CSWl3xs2.js → _rollupPluginBabelHelpers-BYQx3gqx.js} +14 -2
- package/dist/shared/{_rollupPluginBabelHelpers-CSWl3xs2.js.map → _rollupPluginBabelHelpers-BYQx3gqx.js.map} +1 -1
- package/dist/styles.css +4 -71
- package/package.json +2 -2
- package/dist/shared/_rollupPluginBabelHelpers-xUOatjtv.cjs.map +0 -1
package/dist/index.cjs
CHANGED
|
@@ -5,20 +5,393 @@ var IconButton_IconButton = require('./IconButton/IconButton.cjs');
|
|
|
5
5
|
var AdContainer_AdContainer = require('./AdContainer/AdContainer.cjs');
|
|
6
6
|
var Text_Text = require('./Text/Text.cjs');
|
|
7
7
|
var Input_Input = require('./Input/Input.cjs');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var Icon_Icon = require('./Icon/Icon.cjs');
|
|
10
|
+
var cn = require('./shared/cn-CPfjOlzZ.cjs');
|
|
11
|
+
var styleInject_es = require('./shared/style-inject.es-DnsWrQaj.cjs');
|
|
8
12
|
var Divider_Divider = require('./Divider/Divider.cjs');
|
|
9
13
|
var Link_Link = require('./Link/Link.cjs');
|
|
10
14
|
var Chip_Chip = require('./Chip/Chip.cjs');
|
|
15
|
+
var _rollupPluginBabelHelpers = require('./shared/_rollupPluginBabelHelpers-B3P3Gzh9.cjs');
|
|
11
16
|
var Flag_Flag = require('./Flag/Flag.cjs');
|
|
12
17
|
var Toast_Toast = require('./Toast/Toast.cjs');
|
|
13
18
|
var utils_hooks = require('./utils/hooks.cjs');
|
|
14
|
-
require('react');
|
|
15
19
|
require('./Button/ButtonContainer.cjs');
|
|
16
|
-
require('./shared/cn-CPfjOlzZ.cjs');
|
|
17
|
-
require('./shared/style-inject.es-DnsWrQaj.cjs');
|
|
18
|
-
require('./Icon/Icon.cjs');
|
|
19
|
-
require('./shared/_rollupPluginBabelHelpers-xUOatjtv.cjs');
|
|
20
20
|
|
|
21
|
+
var css_248z$3 = ".tds-input-helper-message{align-items:center;color:var(--text-primary,#1a1a1a);display:inline-flex;gap:var(--spacing-05,8px)}.tds-input-helper-message__icon{align-items:center;display:inline-flex;flex:0 0 auto;justify-content:center}.tds-input-helper-message__text{font-family:var(--fontFamily040,sans-serif);font-size:var(--fontSize030,1rem);font-weight:var(--fontWeight040,400);line-height:var(--fontLineHeight040,1.5)}.tds-input-helper-message--error .tds-input-helper-message__icon{color:var(--messaging-icon-error,#cb0705)}.tds-input-helper-message--success .tds-input-helper-message__icon{color:var(--messaging-icon-success,#31a46f)}.tds-input-helper-message--info .tds-input-helper-message__icon{color:var(--messaging-icon-info,#0f4aa2)}.tds-input-helper-message--warning .tds-input-helper-message__icon{color:var(--messaging-icon-warning,#e49307)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEJBRUUsa0JBQW1CLENBRW5CLGlDQUFtQyxDQUhuQyxtQkFBb0IsQ0FFcEIseUJBRUYsQ0FFQSxnQ0FFRSxrQkFBbUIsQ0FEbkIsbUJBQW9CLENBR3BCLGFBQWMsQ0FEZCxzQkFFRixDQUVBLGdDQUNFLDJDQUE2QyxDQUM3QyxpQ0FBbUMsQ0FDbkMsb0NBQXNDLENBQ3RDLHdDQUNGLENBR0EsaUVBQ0UseUNBQ0YsQ0FFQSxtRUFDRSwyQ0FDRixDQUVBLGdFQUNFLHdDQUNGLENBRUEsbUVBQ0UsMkNBQ0YiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZHMtaW5wdXQtaGVscGVyLW1lc3NhZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiB2YXIoLS1zcGFjaW5nLTA1LCA4cHgpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5LCAjMWExYTFhKTtcbn1cblxuLnRkcy1pbnB1dC1oZWxwZXItbWVzc2FnZV9faWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleDogMCAwIGF1dG87XG59XG5cbi50ZHMtaW5wdXQtaGVscGVyLW1lc3NhZ2VfX3RleHQge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseTA0MCwgc2Fucy1zZXJpZik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUwMzAsIDFyZW0pO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udFdlaWdodDA0MCwgNDAwKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRMaW5lSGVpZ2h0MDQwLCAxLjUpO1xufVxuXG4vKiBJbnRlbnQgaWNvbiBjb2xvdXJzICovXG4udGRzLWlucHV0LWhlbHBlci1tZXNzYWdlLS1lcnJvciAudGRzLWlucHV0LWhlbHBlci1tZXNzYWdlX19pY29uIHtcbiAgY29sb3I6IHZhcigtLW1lc3NhZ2luZy1pY29uLWVycm9yLCAjY2IwNzA1KTtcbn1cblxuLnRkcy1pbnB1dC1oZWxwZXItbWVzc2FnZS0tc3VjY2VzcyAudGRzLWlucHV0LWhlbHBlci1tZXNzYWdlX19pY29uIHtcbiAgY29sb3I6IHZhcigtLW1lc3NhZ2luZy1pY29uLXN1Y2Nlc3MsICMzMWE0NmYpO1xufVxuXG4udGRzLWlucHV0LWhlbHBlci1tZXNzYWdlLS1pbmZvIC50ZHMtaW5wdXQtaGVscGVyLW1lc3NhZ2VfX2ljb24ge1xuICBjb2xvcjogdmFyKC0tbWVzc2FnaW5nLWljb24taW5mbywgIzBmNGFhMik7XG59XG5cbi50ZHMtaW5wdXQtaGVscGVyLW1lc3NhZ2UtLXdhcm5pbmcgLnRkcy1pbnB1dC1oZWxwZXItbWVzc2FnZV9faWNvbiB7XG4gIGNvbG9yOiB2YXIoLS1tZXNzYWdpbmctaWNvbi13YXJuaW5nLCAjZTQ5MzA3KTtcbn1cbiJdfQ== */";
|
|
22
|
+
styleInject_es.styleInject(css_248z$3);
|
|
21
23
|
|
|
24
|
+
var HELPER_MESSAGE_ICON = {
|
|
25
|
+
error: 'filled_report',
|
|
26
|
+
success: 'filled_check_circle',
|
|
27
|
+
info: 'filled_info',
|
|
28
|
+
warning: 'filled_warning'
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Per-field status indicator. Renders a status icon and helper text beneath
|
|
32
|
+
* an input control. Always used as a supporting component inside an input — never standalone.
|
|
33
|
+
*/
|
|
34
|
+
var InputHelperMessage = function InputHelperMessage(_ref) {
|
|
35
|
+
var type = _ref.type,
|
|
36
|
+
message = _ref.message,
|
|
37
|
+
id = _ref.id,
|
|
38
|
+
className = _ref.className;
|
|
39
|
+
var iconName = HELPER_MESSAGE_ICON[type];
|
|
40
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
41
|
+
id: id,
|
|
42
|
+
className: cn.cn('tds-input-helper-message', "tds-input-helper-message--".concat(type), className)
|
|
43
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
44
|
+
className: "tds-input-helper-message__icon",
|
|
45
|
+
"aria-hidden": "true"
|
|
46
|
+
}, /*#__PURE__*/React.createElement(Icon_Icon.Icon, {
|
|
47
|
+
iconName: iconName,
|
|
48
|
+
size: {
|
|
49
|
+
width: '24px',
|
|
50
|
+
height: '24px'
|
|
51
|
+
}
|
|
52
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
53
|
+
className: "tds-input-helper-message__text"
|
|
54
|
+
}, message));
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
var css_248z$2 = ".tds-dialog-box{align-items:center;background:var(--surface-overlay);box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1000}.tds-dialog-box--no-overlay{background:transparent;inset:auto;padding:0;position:relative}.tds-dialog-box__overlay{background:transparent;inset:0;position:absolute}.tds-dialog-box__surface{background:var(--surface-level-4);border-radius:var(--border-radius-100);box-sizing:border-box;display:flex;flex-direction:column;max-height:min(85vh,720px);max-width:var(--tds-dialog-box-surface-width,353px);outline:none;overflow:hidden;padding-bottom:var(--spacing-09);padding-top:var(--spacing-05);position:relative;width:100%}.tds-dialog-box__header{align-items:center;display:flex;gap:var(--spacing-05);padding-bottom:var(--spacing-05);padding-left:var(--spacing-09);padding-right:var(--spacing-09)}.tds-dialog-box__title{color:var(--text-primary);flex:1 1 auto;font-family:var(--fontFamily010);font-size:var(--fontSize070);font-weight:400;line-height:var(--fontLineHeight070,1.15);margin:0}.tds-dialog-box__dismiss{align-items:center;background:transparent;border:none;border-radius:var(--border-radius-100);color:var(--text-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;height:40px;justify-content:center;margin-left:var(--spacing-05);padding:0;width:40px}.tds-dialog-box__dismiss:hover{background:var(--surface-level-3,transparent)}.tds-dialog-box__dismiss:focus-visible{outline:2px solid var(--text-primary);outline-offset:-2px}.tds-dialog-box__dismiss>svg{display:block;height:24px;width:24px}.tds-dialog-box__body{color:var(--text-primary);flex:1 1 auto;flex-direction:column;font-family:var(--fontFamily040,var(--fontFamily010));font-size:var(--fontSize030,1.6rem);gap:var(--spacing-06,10px);line-height:var(--fontLineHeight030,1.5);overflow-y:auto}.tds-dialog-box__body,.tds-dialog-box__footer{display:flex;padding-left:var(--spacing-09);padding-right:var(--spacing-09)}.tds-dialog-box__footer{align-items:center;gap:var(--spacing-05);justify-content:flex-end;padding-top:var(--spacing-09)}@media (min-width:768px){.tds-dialog-box{padding:24px}.tds-dialog-box__surface{max-width:var(--tds-dialog-box-surface-width,720px)}}@media (min-width:1024px){.tds-dialog-box__surface{max-width:var(--tds-dialog-box-surface-width,976px)}}@media (min-width:1144px){.tds-dialog-box__surface{max-width:var(--tds-dialog-box-surface-width,1096px)}}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0JBS0Usa0JBQW1CLENBSW5CLGlDQUFrQyxDQURsQyxxQkFBc0IsQ0FKdEIsWUFBYSxDQUZiLE9BQVEsQ0FJUixzQkFBdUIsQ0FDdkIsWUFBYSxDQU5iLGNBQWUsQ0FFZixZQU9GLENBRUEsNEJBSUUsc0JBQXVCLENBRnZCLFVBQVcsQ0FDWCxTQUFVLENBRlYsaUJBSUYsQ0FFQSx5QkFHRSxzQkFBdUIsQ0FEdkIsT0FBUSxDQURSLGlCQUdGLENBRUEseUJBT0UsaUNBQWtDLENBQ2xDLHNDQUF1QyxDQUt2QyxxQkFBc0IsQ0FYdEIsWUFBYSxDQUNiLHFCQUFzQixDQUd0QiwwQkFBNEIsQ0FENUIsbURBQXFELENBSXJELFlBQWEsQ0FDYixlQUFnQixDQUVoQixnQ0FBaUMsQ0FEakMsNkJBQThCLENBVjlCLGlCQUFrQixDQUdsQixVQVVGLENBRUEsd0JBRUUsa0JBQW1CLENBRG5CLFlBQWEsQ0FFYixxQkFBc0IsQ0FHdEIsZ0NBQWlDLENBRmpDLDhCQUErQixDQUMvQiwrQkFFRixDQUVBLHVCQU9FLHlCQUEwQixDQU4xQixhQUFjLENBRWQsZ0NBQWlDLENBQ2pDLDRCQUE2QixDQUU3QixlQUFnQixDQURoQix5Q0FBMkMsQ0FIM0MsUUFNRixDQUVBLHlCQU1FLGtCQUFtQixDQUluQixzQkFBdUIsQ0FEdkIsV0FBWSxDQUlaLHNDQUF1QyxDQUZ2Qyx5QkFBMEIsQ0FDMUIsY0FBZSxDQVBmLG1CQUFvQixDQUpwQixhQUFjLENBR2QsV0FBWSxDQUdaLHNCQUF1QixDQUx2Qiw2QkFBOEIsQ0FNOUIsU0FBVSxDQUxWLFVBV0YsQ0FFQSwrQkFDRSw2Q0FDRixDQUVBLHVDQUNFLHFDQUFzQyxDQUN0QyxtQkFDRixDQUVBLDZCQUdFLGFBQWMsQ0FEZCxXQUFZLENBRFosVUFHRixDQUVBLHNCQVdFLHlCQUEwQixDQVYxQixhQUFjLENBRWQscUJBQXNCLENBS3RCLHFEQUF1RCxDQUN2RCxtQ0FBcUMsQ0FMckMsMEJBQTRCLENBTTVCLHdDQUEwQyxDQUgxQyxlQUtGLENBRUEsOENBWkUsWUFBYSxDQUdiLDhCQUErQixDQUMvQiwrQkFnQkYsQ0FSQSx3QkFFRSxrQkFBbUIsQ0FFbkIscUJBQXNCLENBRHRCLHdCQUF5QixDQUl6Qiw2QkFDRixDQUlBLHlCQUNFLGdCQUNFLFlBQ0YsQ0FDQSx5QkFDRSxtREFDRixDQUNGLENBRUEsMEJBQ0UseUJBQ0UsbURBQ0YsQ0FDRixDQUVBLDBCQUNFLHlCQUNFLG9EQUNGLENBQ0YiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZHMtZGlhbG9nLWJveCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDEwMDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlLW92ZXJsYXkpO1xufVxuXG4udGRzLWRpYWxvZy1ib3gtLW5vLW92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGluc2V0OiBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnRkcy1kaWFsb2ctYm94X19vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi50ZHMtZGlhbG9nLWJveF9fc3VyZmFjZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogdmFyKC0tdGRzLWRpYWxvZy1ib3gtc3VyZmFjZS13aWR0aCwgMzUzcHgpO1xuICBtYXgtaGVpZ2h0OiBtaW4oODV2aCwgNzIwcHgpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zdXJmYWNlLWxldmVsLTQpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTEwMCk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiB2YXIoLS1zcGFjaW5nLTA1KTtcbiAgcGFkZGluZy1ib3R0b206IHZhcigtLXNwYWNpbmctMDkpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4udGRzLWRpYWxvZy1ib3hfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogdmFyKC0tc3BhY2luZy0wNSk7XG4gIHBhZGRpbmctbGVmdDogdmFyKC0tc3BhY2luZy0wOSk7XG4gIHBhZGRpbmctcmlnaHQ6IHZhcigtLXNwYWNpbmctMDkpO1xuICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tc3BhY2luZy0wNSk7XG59XG5cbi50ZHMtZGlhbG9nLWJveF9fdGl0bGUge1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEZhbWlseTAxMCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUwNzApO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZm9udExpbmVIZWlnaHQwNzAsIDEuMTUpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRkcy1kaWFsb2ctYm94X19kaXNtaXNzIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1zcGFjaW5nLTA1KTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLTEwMCk7XG59XG5cbi50ZHMtZGlhbG9nLWJveF9fZGlzbWlzczpob3ZlciB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN1cmZhY2UtbGV2ZWwtMywgdHJhbnNwYXJlbnQpO1xufVxuXG4udGRzLWRpYWxvZy1ib3hfX2Rpc21pc3M6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IDJweCBzb2xpZCB2YXIoLS10ZXh0LXByaW1hcnkpO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLnRkcy1kaWFsb2ctYm94X19kaXNtaXNzID4gc3ZnIHtcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ZHMtZGlhbG9nLWJveF9fYm9keSB7XG4gIGZsZXg6IDEgMSBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IHZhcigtLXNwYWNpbmctMDYsIDEwcHgpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMDkpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTA5KTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkwNDAsIHZhcigtLWZvbnRGYW1pbHkwMTApKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZTAzMCwgMS42cmVtKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRMaW5lSGVpZ2h0MDMwLCAxLjUpO1xuICBjb2xvcjogdmFyKC0tdGV4dC1wcmltYXJ5KTtcbn1cblxuLnRkcy1kaWFsb2ctYm94X19mb290ZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBnYXA6IHZhcigtLXNwYWNpbmctMDUpO1xuICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNwYWNpbmctMDkpO1xuICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1zcGFjaW5nLTA5KTtcbiAgcGFkZGluZy10b3A6IHZhcigtLXNwYWNpbmctMDkpO1xufVxuXG4vKiBWaWV3cG9ydCB3aWR0aHMgbWlycm9yIHRoZSBGaWdtYSBWaWV3cG9ydCBjb2xsZWN0aW9uIG1vZGVzXG4gICAoZ3JpZC9jb250ZW50QXJlYSDiiJIgMiDDlyBncmlkL21hcmdpbiBwZXIgbW9kZSkuICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnRkcy1kaWFsb2ctYm94IHtcbiAgICBwYWRkaW5nOiAyNHB4O1xuICB9XG4gIC50ZHMtZGlhbG9nLWJveF9fc3VyZmFjZSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS10ZHMtZGlhbG9nLWJveC1zdXJmYWNlLXdpZHRoLCA3MjBweCk7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAudGRzLWRpYWxvZy1ib3hfX3N1cmZhY2Uge1xuICAgIG1heC13aWR0aDogdmFyKC0tdGRzLWRpYWxvZy1ib3gtc3VyZmFjZS13aWR0aCwgOTc2cHgpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMTQ0cHgpIHtcbiAgLnRkcy1kaWFsb2ctYm94X19zdXJmYWNlIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLXRkcy1kaWFsb2ctYm94LXN1cmZhY2Utd2lkdGgsIDEwOTZweCk7XG4gIH1cbn1cbiJdfQ== */";
|
|
58
|
+
styleInject_es.styleInject(css_248z$2);
|
|
59
|
+
|
|
60
|
+
var _excluded = ["dismiss", "onDismiss", "titleId", "children", "className"],
|
|
61
|
+
_excluded2 = ["descriptionId", "children", "className"],
|
|
62
|
+
_excluded3 = ["children", "className"],
|
|
63
|
+
_excluded4 = ["open", "onDismiss", "dismiss", "hideOverlay", "disableOverlayDismiss", "disableEscDismiss", "role", "className", "children"];
|
|
64
|
+
var DialogBoxHeader = function DialogBoxHeader(_ref) {
|
|
65
|
+
var _ref$dismiss = _ref.dismiss,
|
|
66
|
+
dismiss = _ref$dismiss === void 0 ? true : _ref$dismiss,
|
|
67
|
+
onDismiss = _ref.onDismiss,
|
|
68
|
+
titleId = _ref.titleId,
|
|
69
|
+
children = _ref.children,
|
|
70
|
+
className = _ref.className,
|
|
71
|
+
rest = _rollupPluginBabelHelpers._objectWithoutProperties(_ref, _excluded);
|
|
72
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers._objectSpread2({
|
|
73
|
+
className: cn.cn('tds-dialog-box__header', className)
|
|
74
|
+
}, rest), /*#__PURE__*/React.createElement("div", {
|
|
75
|
+
id: titleId,
|
|
76
|
+
role: "heading",
|
|
77
|
+
"aria-level": 2,
|
|
78
|
+
className: "tds-dialog-box__title"
|
|
79
|
+
}, children), dismiss && (/*#__PURE__*/React.createElement("button", {
|
|
80
|
+
type: "button",
|
|
81
|
+
className: "tds-dialog-box__dismiss",
|
|
82
|
+
"aria-label": "Dismiss dialog",
|
|
83
|
+
onClick: onDismiss
|
|
84
|
+
}, /*#__PURE__*/React.createElement(Icon_Icon.Icon, {
|
|
85
|
+
iconName: "filled_close",
|
|
86
|
+
size: {
|
|
87
|
+
width: '24px',
|
|
88
|
+
height: '24px'
|
|
89
|
+
}
|
|
90
|
+
}))));
|
|
91
|
+
};
|
|
92
|
+
var DialogBoxBody = function DialogBoxBody(_ref2) {
|
|
93
|
+
var descriptionId = _ref2.descriptionId,
|
|
94
|
+
children = _ref2.children,
|
|
95
|
+
className = _ref2.className,
|
|
96
|
+
rest = _rollupPluginBabelHelpers._objectWithoutProperties(_ref2, _excluded2);
|
|
97
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers._objectSpread2({
|
|
98
|
+
id: descriptionId,
|
|
99
|
+
className: cn.cn('tds-dialog-box__body', className)
|
|
100
|
+
}, rest), children);
|
|
101
|
+
};
|
|
102
|
+
var DialogBoxFooter = function DialogBoxFooter(_ref3) {
|
|
103
|
+
var children = _ref3.children,
|
|
104
|
+
className = _ref3.className,
|
|
105
|
+
rest = _rollupPluginBabelHelpers._objectWithoutProperties(_ref3, _excluded3);
|
|
106
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers._objectSpread2({
|
|
107
|
+
className: cn.cn('tds-dialog-box__footer', className)
|
|
108
|
+
}, rest), children);
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Simple dialog box for alerts and short confirmations. Renders a centered
|
|
112
|
+
* surface over a scrim overlay. For richer flows (forms, multi-step content),
|
|
113
|
+
* use the future Modal component.
|
|
114
|
+
*/
|
|
115
|
+
var DialogBoxRoot = function DialogBoxRoot(_ref4) {
|
|
116
|
+
var open = _ref4.open,
|
|
117
|
+
onDismiss = _ref4.onDismiss,
|
|
118
|
+
dismiss = _ref4.dismiss,
|
|
119
|
+
_ref4$hideOverlay = _ref4.hideOverlay,
|
|
120
|
+
hideOverlay = _ref4$hideOverlay === void 0 ? false : _ref4$hideOverlay,
|
|
121
|
+
_ref4$disableOverlayD = _ref4.disableOverlayDismiss,
|
|
122
|
+
disableOverlayDismiss = _ref4$disableOverlayD === void 0 ? false : _ref4$disableOverlayD,
|
|
123
|
+
_ref4$disableEscDismi = _ref4.disableEscDismiss,
|
|
124
|
+
disableEscDismiss = _ref4$disableEscDismi === void 0 ? false : _ref4$disableEscDismi,
|
|
125
|
+
_ref4$role = _ref4.role,
|
|
126
|
+
role = _ref4$role === void 0 ? 'dialog' : _ref4$role,
|
|
127
|
+
className = _ref4.className,
|
|
128
|
+
children = _ref4.children,
|
|
129
|
+
rest = _rollupPluginBabelHelpers._objectWithoutProperties(_ref4, _excluded4);
|
|
130
|
+
var surfaceRef = React.useRef(null);
|
|
131
|
+
var previouslyFocusedRef = React.useRef(null);
|
|
132
|
+
var autoTitleId = React.useId();
|
|
133
|
+
var autoDescriptionId = React.useId();
|
|
134
|
+
var titleId = "tds-dialog-box-title-".concat(autoTitleId);
|
|
135
|
+
var descriptionId = "tds-dialog-box-body-".concat(autoDescriptionId);
|
|
136
|
+
var requestDismiss = React.useCallback(function () {
|
|
137
|
+
if (onDismiss) onDismiss();
|
|
138
|
+
}, [onDismiss]);
|
|
139
|
+
React.useEffect(function () {
|
|
140
|
+
if (!open || disableEscDismiss) return undefined;
|
|
141
|
+
var handler = function handler(event) {
|
|
142
|
+
if (event.key === 'Escape') {
|
|
143
|
+
event.stopPropagation();
|
|
144
|
+
requestDismiss();
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
window.addEventListener('keydown', handler);
|
|
148
|
+
return function () {
|
|
149
|
+
return window.removeEventListener('keydown', handler);
|
|
150
|
+
};
|
|
151
|
+
}, [open, disableEscDismiss, requestDismiss]);
|
|
152
|
+
React.useEffect(function () {
|
|
153
|
+
var _surfaceRef$current;
|
|
154
|
+
if (!open) return undefined;
|
|
155
|
+
previouslyFocusedRef.current = document.activeElement;
|
|
156
|
+
(_surfaceRef$current = surfaceRef.current) === null || _surfaceRef$current === void 0 || _surfaceRef$current.focus({
|
|
157
|
+
preventScroll: true
|
|
158
|
+
});
|
|
159
|
+
return function () {
|
|
160
|
+
var _previouslyFocusedRef, _previouslyFocusedRef2;
|
|
161
|
+
(_previouslyFocusedRef = previouslyFocusedRef.current) === null || _previouslyFocusedRef === void 0 || (_previouslyFocusedRef2 = _previouslyFocusedRef.focus) === null || _previouslyFocusedRef2 === void 0 || _previouslyFocusedRef2.call(_previouslyFocusedRef);
|
|
162
|
+
};
|
|
163
|
+
}, [open]);
|
|
164
|
+
if (!open) return null;
|
|
165
|
+
var decoratedChildren = React.Children.map(children, function (child) {
|
|
166
|
+
if (! /*#__PURE__*/React.isValidElement(child)) return child;
|
|
167
|
+
if (child.type === DialogBoxHeader) {
|
|
168
|
+
var childProps = child.props;
|
|
169
|
+
// Root `dismiss` mirrors the Figma master toggle; an explicit Header `dismiss` still wins.
|
|
170
|
+
var resolvedDismiss = childProps.dismiss !== undefined ? childProps.dismiss : dismiss;
|
|
171
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
172
|
+
onDismiss: requestDismiss,
|
|
173
|
+
titleId: titleId,
|
|
174
|
+
dismiss: resolvedDismiss
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
if (child.type === DialogBoxBody) {
|
|
178
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
179
|
+
descriptionId: descriptionId
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return child;
|
|
183
|
+
});
|
|
184
|
+
var handleOverlayClick = function handleOverlayClick() {
|
|
185
|
+
if (!disableOverlayDismiss) requestDismiss();
|
|
186
|
+
};
|
|
187
|
+
return /*#__PURE__*/React.createElement("div", _rollupPluginBabelHelpers._objectSpread2({
|
|
188
|
+
className: cn.cn('tds-dialog-box', hideOverlay && 'tds-dialog-box--no-overlay', className)
|
|
189
|
+
}, rest), !hideOverlay && (/*#__PURE__*/React.createElement("div", {
|
|
190
|
+
className: "tds-dialog-box__overlay",
|
|
191
|
+
"aria-hidden": "true",
|
|
192
|
+
onClick: handleOverlayClick
|
|
193
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
194
|
+
ref: surfaceRef,
|
|
195
|
+
className: "tds-dialog-box__surface",
|
|
196
|
+
role: role,
|
|
197
|
+
"aria-modal": "true",
|
|
198
|
+
"aria-labelledby": titleId,
|
|
199
|
+
"aria-describedby": descriptionId,
|
|
200
|
+
tabIndex: -1
|
|
201
|
+
}, decoratedChildren));
|
|
202
|
+
};
|
|
203
|
+
var DialogBox = DialogBoxRoot;
|
|
204
|
+
DialogBox.Header = DialogBoxHeader;
|
|
205
|
+
DialogBox.Body = DialogBoxBody;
|
|
206
|
+
DialogBox.Footer = DialogBoxFooter;
|
|
207
|
+
DialogBox.displayName = 'DialogBox';
|
|
208
|
+
DialogBoxHeader.displayName = 'DialogBox.Header';
|
|
209
|
+
DialogBoxBody.displayName = 'DialogBox.Body';
|
|
210
|
+
DialogBoxFooter.displayName = 'DialogBox.Footer';
|
|
211
|
+
|
|
212
|
+
var css_248z$1 = ".tds-tab{--tds-tab-bg:var(--interactive-tab-fill-default,transparent);--tds-tab-bg-hover:var(--interactive-tab-fill-hover,#f2f2f2);--tds-tab-bg-pressed:var(--interactive-tab-fill-pressed,#e6e6e6);--tds-tab-fg:var(--interactive-tab-text-default,#1a1a1a);--tds-tab-fg-hover:var(--interactive-tab-text-hover,#404040);--tds-tab-fg-pressed:var(--interactive-tab-text-pressed,#404040);--tds-tab-icon:var(--interactive-tab-icon-default,#1a1a1a);--tds-tab-icon-hover:var(--interactive-tab-icon-hover,#404040);--tds-tab-icon-pressed:var(--interactive-tab-icon-pressed,#404040);--tds-tab-selected-border:var(\n --interactive-tab-selected-border-default,#1a1a1a\n );--tds-tab-focus-ring:var(--focus-border,#737373);align-items:center;background-color:var(--tds-tab-bg);border:0;border-bottom:2px solid transparent;color:var(--tds-tab-fg);cursor:pointer;display:inline-flex;font-family:var(--fontFamily040,sans-serif);font-weight:var(--fontWeight050,500);gap:var(--spacing-05);justify-content:center;line-height:var(--fontLineHeight030,1.25);position:relative;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;white-space:nowrap}.tds-tab:hover:not(:disabled){background-color:var(--tds-tab-bg-hover);color:var(--tds-tab-fg-hover)}.tds-tab:active:not(:disabled){background-color:var(--tds-tab-bg-pressed);color:var(--tds-tab-fg-pressed)}.tds-tab:focus-visible{background-color:var(--tds-tab-bg-hover);color:var(--tds-tab-fg-hover);outline:none}.tds-tab:focus-visible:after{border:var(--spacing-01,1px) solid var(--tds-tab-focus-ring);border-radius:var(--spacing-02,2px);content:\"\";inset:calc(var(--spacing-02, 2px)*-1);pointer-events:none;position:absolute}.tds-tab:disabled{background-color:var(--interactive-disabled-b,#bfbfbf);color:var(--interactive-disabled-a,#d9d9d9);cursor:not-allowed}.tds-tab--state-hover:not(:disabled){background-color:var(--tds-tab-bg-hover);color:var(--tds-tab-fg-hover)}.tds-tab--state-pressed:not(:disabled){background-color:var(--tds-tab-bg-pressed);color:var(--tds-tab-fg-pressed)}.tds-tab--state-focus:not(:disabled){background-color:var(--tds-tab-bg-hover);color:var(--tds-tab-fg-hover)}.tds-tab--state-focus:not(:disabled):after{border:var(--spacing-01,1px) solid var(--tds-tab-focus-ring);border-radius:var(--spacing-02,2px);content:\"\";inset:calc(var(--spacing-02, 2px)*-1);pointer-events:none;position:absolute}.tds-tab--state-disabled{background-color:var(--interactive-disabled-b,#bfbfbf);color:var(--interactive-disabled-a,#d9d9d9);cursor:not-allowed}.tds-tab--active-true{border-bottom-color:var(--tds-tab-selected-border)}.tds-tab--active-false{border-bottom-color:transparent}.tds-tab--size-medium{font-size:var(--fontSize030,1rem);line-height:var(--fontLineHeight020,1.125);min-height:var(--spacing-17,40px);padding:0 var(--spacing-07)}.tds-tab--size-large{font-size:var(--fontSize040,1.125rem);line-height:var(--fontLineHeight020,1.125);min-height:var(--spacing-18,48px);padding:0 var(--spacing-09)}.tds-tab__icon,.tds-tab__label{align-items:center;display:inline-flex;justify-content:center}.tds-tab__icon{color:var(--tds-tab-icon)}.tds-tab--state-focus:not(:disabled) .tds-tab__icon,.tds-tab--state-hover:not(:disabled) .tds-tab__icon,.tds-tab:focus-visible .tds-tab__icon,.tds-tab:hover:not(:disabled) .tds-tab__icon{color:var(--tds-tab-icon-hover)}.tds-tab--state-pressed:not(:disabled) .tds-tab__icon,.tds-tab:active:not(:disabled) .tds-tab__icon{color:var(--tds-tab-icon-pressed)}.tds-tab--state-disabled .tds-tab__icon,.tds-tab:disabled .tds-tab__icon{color:var(--interactive-disabled-a,#d9d9d9)}.tds-tab--size-medium .tds-tab__icon{height:var(--spacing-09,16px);width:var(--spacing-09,16px)}.tds-tab--size-large .tds-tab__icon{height:var(--spacing-11,20px);width:var(--spacing-11,20px)}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FDRSw0REFBOEQsQ0FDOUQsNERBQThELENBQzlELGdFQUFrRSxDQUNsRSx3REFBMEQsQ0FDMUQsNERBQThELENBQzlELGdFQUFrRSxDQUNsRSwwREFBNEQsQ0FDNUQsOERBQWdFLENBQ2hFLGtFQUFvRSxDQUNwRTs7R0FHQyxDQUNELGdEQUFrRCxDQUlsRCxrQkFBbUIsQ0FLbkIsa0NBQW1DLENBRm5DLFFBQVMsQ0FDVCxtQ0FBb0MsQ0FFcEMsdUJBQXdCLENBS3hCLGNBQWUsQ0FaZixtQkFBb0IsQ0FRcEIsMkNBQTZDLENBQzdDLG9DQUFzQyxDQU50QyxxQkFBc0IsQ0FEdEIsc0JBQXVCLENBUXZCLHlDQUEyQyxDQVgzQyxpQkFBa0IsQ0FjbEIsaUdBSXVCLENBTnZCLGtCQU9GLENBRUEsOEJBQ0Usd0NBQXlDLENBQ3pDLDZCQUNGLENBRUEsK0JBQ0UsMENBQTJDLENBQzNDLCtCQUNGLENBRUEsdUJBRUUsd0NBQXlDLENBQ3pDLDZCQUE4QixDQUY5QixZQUdGLENBRUEsNkJBSUUsNERBQThELENBQzlELG1DQUFxQyxDQUpyQyxVQUFXLENBRVgscUNBQXdDLENBR3hDLG1CQUFvQixDQUpwQixpQkFLRixDQUVBLGtCQUNFLHNEQUF3RCxDQUN4RCwyQ0FBNkMsQ0FDN0Msa0JBQ0YsQ0FFQSxxQ0FDRSx3Q0FBeUMsQ0FDekMsNkJBQ0YsQ0FFQSx1Q0FDRSwwQ0FBMkMsQ0FDM0MsK0JBQ0YsQ0FFQSxxQ0FDRSx3Q0FBeUMsQ0FDekMsNkJBQ0YsQ0FFQSwyQ0FJRSw0REFBOEQsQ0FDOUQsbUNBQXFDLENBSnJDLFVBQVcsQ0FFWCxxQ0FBd0MsQ0FHeEMsbUJBQW9CLENBSnBCLGlCQUtGLENBRUEseUJBQ0Usc0RBQXdELENBQ3hELDJDQUE2QyxDQUM3QyxrQkFDRixDQUVBLHNCQUNFLGtEQUNGLENBRUEsdUJBQ0UsK0JBQ0YsQ0FFQSxzQkFHRSxpQ0FBbUMsQ0FDbkMsMENBQTRDLENBSDVDLGlDQUFtQyxDQUNuQywyQkFHRixDQUVBLHFCQUdFLHFDQUF1QyxDQUN2QywwQ0FBNEMsQ0FINUMsaUNBQW1DLENBQ25DLDJCQUdGLENBUUEsK0JBSkUsa0JBQW1CLENBRG5CLG1CQUFvQixDQUVwQixzQkFRRixDQUxBLGVBSUUseUJBQ0YsQ0FFQSwyTEFJRSwrQkFDRixDQUVBLG9HQUVFLGlDQUNGLENBRUEseUVBRUUsMkNBQ0YsQ0FFQSxxQ0FFRSw2QkFBK0IsQ0FEL0IsNEJBRUYsQ0FFQSxvQ0FFRSw2QkFBK0IsQ0FEL0IsNEJBRUYiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZHMtdGFiIHtcbiAgLS10ZHMtdGFiLWJnOiB2YXIoLS1pbnRlcmFjdGl2ZS10YWItZmlsbC1kZWZhdWx0LCB0cmFuc3BhcmVudCk7XG4gIC0tdGRzLXRhYi1iZy1ob3ZlcjogdmFyKC0taW50ZXJhY3RpdmUtdGFiLWZpbGwtaG92ZXIsICNmMmYyZjIpO1xuICAtLXRkcy10YWItYmctcHJlc3NlZDogdmFyKC0taW50ZXJhY3RpdmUtdGFiLWZpbGwtcHJlc3NlZCwgI2U2ZTZlNik7XG4gIC0tdGRzLXRhYi1mZzogdmFyKC0taW50ZXJhY3RpdmUtdGFiLXRleHQtZGVmYXVsdCwgIzFhMWExYSk7XG4gIC0tdGRzLXRhYi1mZy1ob3ZlcjogdmFyKC0taW50ZXJhY3RpdmUtdGFiLXRleHQtaG92ZXIsICM0MDQwNDApO1xuICAtLXRkcy10YWItZmctcHJlc3NlZDogdmFyKC0taW50ZXJhY3RpdmUtdGFiLXRleHQtcHJlc3NlZCwgIzQwNDA0MCk7XG4gIC0tdGRzLXRhYi1pY29uOiB2YXIoLS1pbnRlcmFjdGl2ZS10YWItaWNvbi1kZWZhdWx0LCAjMWExYTFhKTtcbiAgLS10ZHMtdGFiLWljb24taG92ZXI6IHZhcigtLWludGVyYWN0aXZlLXRhYi1pY29uLWhvdmVyLCAjNDA0MDQwKTtcbiAgLS10ZHMtdGFiLWljb24tcHJlc3NlZDogdmFyKC0taW50ZXJhY3RpdmUtdGFiLWljb24tcHJlc3NlZCwgIzQwNDA0MCk7XG4gIC0tdGRzLXRhYi1zZWxlY3RlZC1ib3JkZXI6IHZhcihcbiAgICAtLWludGVyYWN0aXZlLXRhYi1zZWxlY3RlZC1ib3JkZXItZGVmYXVsdCxcbiAgICAjMWExYTFhXG4gICk7XG4gIC0tdGRzLXRhYi1mb2N1cy1yaW5nOiB2YXIoLS1mb2N1cy1ib3JkZXIsICM3MzczNzMpO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBnYXA6IHZhcigtLXNwYWNpbmctMDUpO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGRzLXRhYi1iZyk7XG4gIGNvbG9yOiB2YXIoLS10ZHMtdGFiLWZnKTtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRGYW1pbHkwNDAsIHNhbnMtc2VyaWYpO1xuICBmb250LXdlaWdodDogdmFyKC0tZm9udFdlaWdodDA1MCwgNTAwKTtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWZvbnRMaW5lSGVpZ2h0MDMwLCAxLjI1KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZSxcbiAgICBib3JkZXItY29sb3IgMC4xNXMgZWFzZSxcbiAgICBjb2xvciAwLjE1cyBlYXNlLFxuICAgIGJveC1zaGFkb3cgMC4xNXMgZWFzZTtcbn1cblxuLnRkcy10YWI6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZHMtdGFiLWJnLWhvdmVyKTtcbiAgY29sb3I6IHZhcigtLXRkcy10YWItZmctaG92ZXIpO1xufVxuXG4udGRzLXRhYjphY3RpdmU6bm90KDpkaXNhYmxlZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS10ZHMtdGFiLWJnLXByZXNzZWQpO1xuICBjb2xvcjogdmFyKC0tdGRzLXRhYi1mZy1wcmVzc2VkKTtcbn1cblxuLnRkcy10YWI6Zm9jdXMtdmlzaWJsZSB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRkcy10YWItYmctaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tdGRzLXRhYi1mZy1ob3Zlcik7XG59XG5cbi50ZHMtdGFiOmZvY3VzLXZpc2libGU6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IGNhbGModmFyKC0tc3BhY2luZy0wMiwgMnB4KSAqIC0xKTtcbiAgYm9yZGVyOiB2YXIoLS1zcGFjaW5nLTAxLCAxcHgpIHNvbGlkIHZhcigtLXRkcy10YWItZm9jdXMtcmluZyk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXNwYWNpbmctMDIsIDJweCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4udGRzLXRhYjpkaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWRpc2FibGVkLWIsICNiZmJmYmYpO1xuICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtZGlzYWJsZWQtYSwgI2Q5ZDlkOSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi50ZHMtdGFiLS1zdGF0ZS1ob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRkcy10YWItYmctaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tdGRzLXRhYi1mZy1ob3Zlcik7XG59XG5cbi50ZHMtdGFiLS1zdGF0ZS1wcmVzc2VkOm5vdCg6ZGlzYWJsZWQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGRzLXRhYi1iZy1wcmVzc2VkKTtcbiAgY29sb3I6IHZhcigtLXRkcy10YWItZmctcHJlc3NlZCk7XG59XG5cbi50ZHMtdGFiLS1zdGF0ZS1mb2N1czpub3QoOmRpc2FibGVkKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXRkcy10YWItYmctaG92ZXIpO1xuICBjb2xvcjogdmFyKC0tdGRzLXRhYi1mZy1ob3Zlcik7XG59XG5cbi50ZHMtdGFiLS1zdGF0ZS1mb2N1czpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogY2FsYyh2YXIoLS1zcGFjaW5nLTAyLCAycHgpICogLTEpO1xuICBib3JkZXI6IHZhcigtLXNwYWNpbmctMDEsIDFweCkgc29saWQgdmFyKC0tdGRzLXRhYi1mb2N1cy1yaW5nKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc3BhY2luZy0wMiwgMnB4KTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi50ZHMtdGFiLS1zdGF0ZS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWludGVyYWN0aXZlLWRpc2FibGVkLWIsICNiZmJmYmYpO1xuICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtZGlzYWJsZWQtYSwgI2Q5ZDlkOSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi50ZHMtdGFiLS1hY3RpdmUtdHJ1ZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHZhcigtLXRkcy10YWItc2VsZWN0ZWQtYm9yZGVyKTtcbn1cblxuLnRkcy10YWItLWFjdGl2ZS1mYWxzZSB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4udGRzLXRhYi0tc2l6ZS1tZWRpdW0ge1xuICBtaW4taGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTE3LCA0MHB4KTtcbiAgcGFkZGluZzogMCB2YXIoLS1zcGFjaW5nLTA3KTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZTAzMCwgMXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb250TGluZUhlaWdodDAyMCwgMS4xMjUpO1xufVxuXG4udGRzLXRhYi0tc2l6ZS1sYXJnZSB7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLXNwYWNpbmctMTgsIDQ4cHgpO1xuICBwYWRkaW5nOiAwIHZhcigtLXNwYWNpbmctMDkpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplMDQwLCAxLjEyNXJlbSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb250TGluZUhlaWdodDAyMCwgMS4xMjUpO1xufVxuXG4udGRzLXRhYl9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi50ZHMtdGFiX19pY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tdGRzLXRhYi1pY29uKTtcbn1cblxuLnRkcy10YWI6aG92ZXI6bm90KDpkaXNhYmxlZCkgLnRkcy10YWJfX2ljb24sXG4udGRzLXRhYjpmb2N1cy12aXNpYmxlIC50ZHMtdGFiX19pY29uLFxuLnRkcy10YWItLXN0YXRlLWhvdmVyOm5vdCg6ZGlzYWJsZWQpIC50ZHMtdGFiX19pY29uLFxuLnRkcy10YWItLXN0YXRlLWZvY3VzOm5vdCg6ZGlzYWJsZWQpIC50ZHMtdGFiX19pY29uIHtcbiAgY29sb3I6IHZhcigtLXRkcy10YWItaWNvbi1ob3Zlcik7XG59XG5cbi50ZHMtdGFiOmFjdGl2ZTpub3QoOmRpc2FibGVkKSAudGRzLXRhYl9faWNvbixcbi50ZHMtdGFiLS1zdGF0ZS1wcmVzc2VkOm5vdCg6ZGlzYWJsZWQpIC50ZHMtdGFiX19pY29uIHtcbiAgY29sb3I6IHZhcigtLXRkcy10YWItaWNvbi1wcmVzc2VkKTtcbn1cblxuLnRkcy10YWI6ZGlzYWJsZWQgLnRkcy10YWJfX2ljb24sXG4udGRzLXRhYi0tc3RhdGUtZGlzYWJsZWQgLnRkcy10YWJfX2ljb24ge1xuICBjb2xvcjogdmFyKC0taW50ZXJhY3RpdmUtZGlzYWJsZWQtYSwgI2Q5ZDlkOSk7XG59XG5cbi50ZHMtdGFiLS1zaXplLW1lZGl1bSAudGRzLXRhYl9faWNvbiB7XG4gIHdpZHRoOiB2YXIoLS1zcGFjaW5nLTA5LCAxNnB4KTtcbiAgaGVpZ2h0OiB2YXIoLS1zcGFjaW5nLTA5LCAxNnB4KTtcbn1cblxuLnRkcy10YWItLXNpemUtbGFyZ2UgLnRkcy10YWJfX2ljb24ge1xuICB3aWR0aDogdmFyKC0tc3BhY2luZy0xMSwgMjBweCk7XG4gIGhlaWdodDogdmFyKC0tc3BhY2luZy0xMSwgMjBweCk7XG59XG4iXX0= */";
|
|
213
|
+
styleInject_es.styleInject(css_248z$1);
|
|
214
|
+
|
|
215
|
+
/** Single tab inside a TabGroup. Render through TabGroup for tablist semantics and keyboard nav. */
|
|
216
|
+
var Tab = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
217
|
+
var _ref2;
|
|
218
|
+
var _ref$state = _ref.state,
|
|
219
|
+
state = _ref$state === void 0 ? 'base' : _ref$state,
|
|
220
|
+
_ref$size = _ref.size,
|
|
221
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
222
|
+
_ref$active = _ref.active,
|
|
223
|
+
active = _ref$active === void 0 ? true : _ref$active,
|
|
224
|
+
_ref$channel = _ref.channel,
|
|
225
|
+
channel = _ref$channel === void 0 ? false : _ref$channel,
|
|
226
|
+
leftIcon = _ref.leftIcon,
|
|
227
|
+
rightIcon = _ref.rightIcon,
|
|
228
|
+
label = _ref.label,
|
|
229
|
+
children = _ref.children,
|
|
230
|
+
ariaLabelProp = _ref['aria-label'],
|
|
231
|
+
ariaLabel = _ref.ariaLabel,
|
|
232
|
+
id = _ref.id,
|
|
233
|
+
ariaControls = _ref['aria-controls'],
|
|
234
|
+
onClick = _ref.onClick,
|
|
235
|
+
onKeyDown = _ref.onKeyDown,
|
|
236
|
+
className = _ref.className,
|
|
237
|
+
_ref$disabled = _ref.disabled,
|
|
238
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
239
|
+
tabIndex = _ref.tabIndex;
|
|
240
|
+
var resolvedDisabled = disabled || state === 'disabled';
|
|
241
|
+
var resolvedLabel = (_ref2 = label !== null && label !== void 0 ? label : children) !== null && _ref2 !== void 0 ? _ref2 : 'Tab Label';
|
|
242
|
+
var resolvedAriaLabel = ariaLabelProp !== null && ariaLabelProp !== void 0 ? ariaLabelProp : ariaLabel;
|
|
243
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
244
|
+
ref: ref,
|
|
245
|
+
type: "button",
|
|
246
|
+
role: "tab",
|
|
247
|
+
id: id,
|
|
248
|
+
"aria-selected": active,
|
|
249
|
+
"aria-controls": ariaControls,
|
|
250
|
+
"aria-label": resolvedAriaLabel,
|
|
251
|
+
tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : active ? 0 : -1,
|
|
252
|
+
className: cn.cn('tds-tab', "tds-tab--state-".concat(state), "tds-tab--size-".concat(size), active ? 'tds-tab--active-true' : 'tds-tab--active-false', channel ? 'tds-tab--channel-true' : 'tds-tab--channel-false', className),
|
|
253
|
+
disabled: resolvedDisabled,
|
|
254
|
+
onClick: onClick,
|
|
255
|
+
onKeyDown: onKeyDown
|
|
256
|
+
}, leftIcon && (/*#__PURE__*/React.createElement("span", {
|
|
257
|
+
className: "tds-tab__icon",
|
|
258
|
+
"aria-hidden": "true"
|
|
259
|
+
}, /*#__PURE__*/React.createElement(Icon_Icon.Icon, {
|
|
260
|
+
iconName: leftIcon
|
|
261
|
+
}))), /*#__PURE__*/React.createElement("span", {
|
|
262
|
+
className: "tds-tab__label"
|
|
263
|
+
}, resolvedLabel), rightIcon && (/*#__PURE__*/React.createElement("span", {
|
|
264
|
+
className: "tds-tab__icon",
|
|
265
|
+
"aria-hidden": "true"
|
|
266
|
+
}, /*#__PURE__*/React.createElement(Icon_Icon.Icon, {
|
|
267
|
+
iconName: rightIcon
|
|
268
|
+
}))));
|
|
269
|
+
});
|
|
270
|
+
Tab.displayName = 'Tab';
|
|
271
|
+
|
|
272
|
+
var css_248z = ".tds-tab-group{align-items:stretch;border-bottom:1px solid var(--border-primary,#b3b3b3);display:inline-flex;gap:0}.tds-tab-group--behaviour-hug{display:inline-flex;width:auto}.tds-tab-group--behaviour-fill{display:flex;width:100%}.tds-tab-group--behaviour-fill>.tds-tab{flex:1 1 0;min-width:0}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZUFFRSxtQkFBb0IsQ0FFcEIscURBQXVELENBSHZELG1CQUFvQixDQUVwQixLQUVGLENBRUEsOEJBQ0UsbUJBQW9CLENBQ3BCLFVBQ0YsQ0FFQSwrQkFDRSxZQUFhLENBQ2IsVUFDRixDQUVBLHdDQUNFLFVBQVcsQ0FDWCxXQUNGIiwiZmlsZSI6InN0eWxlcy5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIudGRzLXRhYi1ncm91cCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgZ2FwOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tYm9yZGVyLXByaW1hcnksICNiM2IzYjMpO1xufVxuXG4udGRzLXRhYi1ncm91cC0tYmVoYXZpb3VyLWh1ZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICB3aWR0aDogYXV0bztcbn1cblxuLnRkcy10YWItZ3JvdXAtLWJlaGF2aW91ci1maWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi50ZHMtdGFiLWdyb3VwLS1iZWhhdmlvdXItZmlsbCA+IC50ZHMtdGFiIHtcbiAgZmxleDogMSAxIDA7XG4gIG1pbi13aWR0aDogMDtcbn1cbiJdfQ== */";
|
|
273
|
+
styleInject_es.styleInject(css_248z);
|
|
274
|
+
|
|
275
|
+
var isTabElement = function isTabElement(node) {
|
|
276
|
+
return /*#__PURE__*/React.isValidElement(node);
|
|
277
|
+
};
|
|
278
|
+
/**
|
|
279
|
+
* React.Children.toArray does not unpack fragments; this walker does, so a
|
|
280
|
+
* caller can pass <>...</> or any nested fragment of Tab children.
|
|
281
|
+
*/
|
|
282
|
+
var _flattenChildren = function flattenChildren(children) {
|
|
283
|
+
var out = [];
|
|
284
|
+
React.Children.forEach(children, function (child) {
|
|
285
|
+
if (/*#__PURE__*/React.isValidElement(child) && child.type === React.Fragment) {
|
|
286
|
+
out.push.apply(out, _rollupPluginBabelHelpers._toConsumableArray(_flattenChildren(child.props.children)));
|
|
287
|
+
} else {
|
|
288
|
+
out.push(child);
|
|
289
|
+
}
|
|
290
|
+
});
|
|
291
|
+
return out;
|
|
292
|
+
};
|
|
293
|
+
/** Tablist container that manages selection and keyboard navigation across Tab children. */
|
|
294
|
+
var TabGroup = function TabGroup(_ref) {
|
|
295
|
+
var _ref$behaviour = _ref.behaviour,
|
|
296
|
+
behaviour = _ref$behaviour === void 0 ? 'hug' : _ref$behaviour,
|
|
297
|
+
_ref$defaultSelectedI = _ref.defaultSelectedIndex,
|
|
298
|
+
defaultSelectedIndex = _ref$defaultSelectedI === void 0 ? 0 : _ref$defaultSelectedI,
|
|
299
|
+
controlledSelectedIndex = _ref.selectedIndex,
|
|
300
|
+
onSelectedIndexChange = _ref.onSelectedIndexChange,
|
|
301
|
+
children = _ref.children,
|
|
302
|
+
ariaLabelProp = _ref['aria-label'],
|
|
303
|
+
ariaLabel = _ref.ariaLabel,
|
|
304
|
+
id = _ref.id,
|
|
305
|
+
className = _ref.className;
|
|
306
|
+
var isControlled = controlledSelectedIndex !== undefined;
|
|
307
|
+
var _useState = React.useState(defaultSelectedIndex),
|
|
308
|
+
_useState2 = _rollupPluginBabelHelpers._slicedToArray(_useState, 2),
|
|
309
|
+
internalSelectedIndex = _useState2[0],
|
|
310
|
+
setInternalSelectedIndex = _useState2[1];
|
|
311
|
+
var selectedIndex = isControlled ? controlledSelectedIndex : internalSelectedIndex;
|
|
312
|
+
var resolvedAriaLabel = ariaLabelProp !== null && ariaLabelProp !== void 0 ? ariaLabelProp : ariaLabel;
|
|
313
|
+
var tabRefs = React.useRef([]);
|
|
314
|
+
var tabChildren = React.useMemo(function () {
|
|
315
|
+
return _flattenChildren(children).filter(isTabElement);
|
|
316
|
+
}, [children]);
|
|
317
|
+
var focusTabAt = React.useCallback(function (index) {
|
|
318
|
+
var node = tabRefs.current[index];
|
|
319
|
+
if (node) {
|
|
320
|
+
node.focus();
|
|
321
|
+
}
|
|
322
|
+
}, []);
|
|
323
|
+
var selectIndex = React.useCallback(function (nextIndex) {
|
|
324
|
+
if (!isControlled) {
|
|
325
|
+
setInternalSelectedIndex(nextIndex);
|
|
326
|
+
}
|
|
327
|
+
onSelectedIndexChange === null || onSelectedIndexChange === void 0 || onSelectedIndexChange(nextIndex);
|
|
328
|
+
}, [isControlled, onSelectedIndexChange]);
|
|
329
|
+
var findNextEnabledIndex = React.useCallback(function (startIndex, direction) {
|
|
330
|
+
var total = tabChildren.length;
|
|
331
|
+
if (total === 0) return startIndex;
|
|
332
|
+
var nextIndex = startIndex;
|
|
333
|
+
for (var i = 0; i < total; i += 1) {
|
|
334
|
+
nextIndex = (nextIndex + direction + total) % total;
|
|
335
|
+
var child = tabChildren[nextIndex];
|
|
336
|
+
if (!child.props.disabled && child.props.state !== 'disabled') {
|
|
337
|
+
return nextIndex;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
return startIndex;
|
|
341
|
+
}, [tabChildren]);
|
|
342
|
+
var handleKeyDown = React.useCallback(function (event) {
|
|
343
|
+
var total = tabChildren.length;
|
|
344
|
+
if (total === 0) return;
|
|
345
|
+
var nextIndex = null;
|
|
346
|
+
switch (event.key) {
|
|
347
|
+
case 'ArrowRight':
|
|
348
|
+
nextIndex = findNextEnabledIndex(selectedIndex, 1);
|
|
349
|
+
break;
|
|
350
|
+
case 'ArrowLeft':
|
|
351
|
+
nextIndex = findNextEnabledIndex(selectedIndex, -1);
|
|
352
|
+
break;
|
|
353
|
+
case 'Home':
|
|
354
|
+
nextIndex = findNextEnabledIndex(-1, 1);
|
|
355
|
+
break;
|
|
356
|
+
case 'End':
|
|
357
|
+
nextIndex = findNextEnabledIndex(total, -1);
|
|
358
|
+
break;
|
|
359
|
+
default:
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (nextIndex !== null && nextIndex !== selectedIndex) {
|
|
363
|
+
event.preventDefault();
|
|
364
|
+
selectIndex(nextIndex);
|
|
365
|
+
focusTabAt(nextIndex);
|
|
366
|
+
}
|
|
367
|
+
}, [tabChildren, selectedIndex, findNextEnabledIndex, selectIndex, focusTabAt]);
|
|
368
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
369
|
+
role: "tablist",
|
|
370
|
+
"aria-orientation": "horizontal",
|
|
371
|
+
"aria-label": resolvedAriaLabel,
|
|
372
|
+
id: id,
|
|
373
|
+
className: cn.cn('tds-tab-group', "tds-tab-group--behaviour-".concat(behaviour === '100%' ? 'fill' : 'hug'), className),
|
|
374
|
+
onKeyDown: handleKeyDown
|
|
375
|
+
}, tabChildren.map(function (child, index) {
|
|
376
|
+
var _child$key;
|
|
377
|
+
var isActive = index === selectedIndex;
|
|
378
|
+
var originalOnClick = child.props.onClick;
|
|
379
|
+
return /*#__PURE__*/React.cloneElement(child, {
|
|
380
|
+
key: (_child$key = child.key) !== null && _child$key !== void 0 ? _child$key : index,
|
|
381
|
+
active: isActive,
|
|
382
|
+
tabIndex: isActive ? 0 : -1,
|
|
383
|
+
ref: function ref(node) {
|
|
384
|
+
tabRefs.current[index] = node;
|
|
385
|
+
},
|
|
386
|
+
onClick: function onClick(event) {
|
|
387
|
+
originalOnClick === null || originalOnClick === void 0 || originalOnClick(event);
|
|
388
|
+
if (!event.defaultPrevented) {
|
|
389
|
+
selectIndex(index);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
}));
|
|
394
|
+
};
|
|
22
395
|
|
|
23
396
|
exports.Button = Button_Button.Button;
|
|
24
397
|
exports.IconButton = IconButton_IconButton.IconButton;
|
|
@@ -31,4 +404,8 @@ exports.Chip = Chip_Chip.Chip;
|
|
|
31
404
|
exports.Flag = Flag_Flag.Flag;
|
|
32
405
|
exports.Toast = Toast_Toast.Toast;
|
|
33
406
|
exports.useTypographyToken = utils_hooks.useTypographyToken;
|
|
407
|
+
exports.DialogBox = DialogBox;
|
|
408
|
+
exports.InputHelperMessage = InputHelperMessage;
|
|
409
|
+
exports.Tab = Tab;
|
|
410
|
+
exports.TabGroup = TabGroup;
|
|
34
411
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/InputHelperMessage/InputHelperMessage.tsx","../src/DialogBox/DialogBox.tsx","../src/Tab/Tab.tsx","../src/TabGroup/TabGroup.tsx"],"sourcesContent":["import React from 'react';\nimport { type IconName } from '@times-design-system/icons';\nimport { Icon } from '../Icon/Icon';\nimport { cn } from '../utils/cn';\nimport './styles.css';\n\nexport type InputHelperMessageType = 'error' | 'success' | 'info' | 'warning';\n\nconst HELPER_MESSAGE_ICON: Record<InputHelperMessageType, IconName> = {\n error: 'filled_report',\n success: 'filled_check_circle',\n info: 'filled_info',\n warning: 'filled_warning'\n};\n\nexport interface InputHelperMessageProps {\n /** Sets semantic intent, icon variant, and icon colour */\n type: InputHelperMessageType;\n /** Required. Plain text or text with inline Link component(s) */\n message: React.ReactNode;\n /** Expose for aria-describedby association from parent input */\n id?: string;\n className?: string;\n}\n\n/**\n * Per-field status indicator. Renders a status icon and helper text beneath\n * an input control. Always used as a supporting component inside an input — never standalone.\n */\nexport const InputHelperMessage: React.FC<InputHelperMessageProps> = ({\n type,\n message,\n id,\n className\n}) => {\n const iconName = HELPER_MESSAGE_ICON[type];\n\n return (\n <span\n id={id}\n className={cn(\n 'tds-input-helper-message',\n `tds-input-helper-message--${type}`,\n className\n )}\n >\n <span className=\"tds-input-helper-message__icon\" aria-hidden=\"true\">\n <Icon iconName={iconName} size={{ width: '24px', height: '24px' }} />\n </span>\n <span className=\"tds-input-helper-message__text\">{message}</span>\n </span>\n );\n};\n","import React, { useCallback, useEffect, useId, useRef } from 'react';\nimport { Icon } from '../Icon/Icon';\nimport { cn } from '../utils/cn';\nimport './styles.css';\n\nexport interface DialogBoxProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Controls dialog visibility */\n open: boolean;\n /** Called when the user requests close (dismiss icon, overlay click, ESC) */\n onDismiss?: () => void;\n /** Show or hide the dismiss icon button in the header. Mirrors the `dismiss` toggle surfaced on the Figma master. */\n dismiss?: boolean;\n /** Hide the overlay scrim (use only for embedded demos) */\n hideOverlay?: boolean;\n /** Disable overlay click-to-dismiss (recommended for destructive confirmations) */\n disableOverlayDismiss?: boolean;\n /** Disable ESC-to-dismiss (recommended for destructive confirmations) */\n disableEscDismiss?: boolean;\n /** Accessible role; use `alertdialog` for urgent confirmations */\n role?: 'dialog' | 'alertdialog';\n}\n\ninterface DialogBoxHeaderProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Show or hide the dismiss icon button in the top right */\n dismiss?: boolean;\n /** Internal: dismiss handler bound by parent DialogBox */\n onDismiss?: () => void;\n /** Internal: id assigned to the title for aria-labelledby */\n titleId?: string;\n}\n\ninterface DialogBoxBodyProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Internal: id assigned to the body for aria-describedby */\n descriptionId?: string;\n}\n\ntype DialogBoxFooterProps = React.HTMLAttributes<HTMLDivElement>;\n\nconst DialogBoxHeader: React.FC<DialogBoxHeaderProps> = ({\n dismiss = true,\n onDismiss,\n titleId,\n children,\n className,\n ...rest\n}) => (\n <div className={cn('tds-dialog-box__header', className)} {...rest}>\n <div\n id={titleId}\n role=\"heading\"\n aria-level={2}\n className=\"tds-dialog-box__title\"\n >\n {children}\n </div>\n {dismiss && (\n <button\n type=\"button\"\n className=\"tds-dialog-box__dismiss\"\n aria-label=\"Dismiss dialog\"\n onClick={onDismiss}\n >\n <Icon\n iconName=\"filled_close\"\n size={{ width: '24px', height: '24px' }}\n />\n </button>\n )}\n </div>\n);\n\nconst DialogBoxBody: React.FC<DialogBoxBodyProps> = ({\n descriptionId,\n children,\n className,\n ...rest\n}) => (\n <div\n id={descriptionId}\n className={cn('tds-dialog-box__body', className)}\n {...rest}\n >\n {children}\n </div>\n);\n\nconst DialogBoxFooter: React.FC<DialogBoxFooterProps> = ({\n children,\n className,\n ...rest\n}) => (\n <div className={cn('tds-dialog-box__footer', className)} {...rest}>\n {children}\n </div>\n);\n\ninterface DialogBoxComposition {\n Header: typeof DialogBoxHeader;\n Body: typeof DialogBoxBody;\n Footer: typeof DialogBoxFooter;\n}\n\n/**\n * Simple dialog box for alerts and short confirmations. Renders a centered\n * surface over a scrim overlay. For richer flows (forms, multi-step content),\n * use the future Modal component.\n */\nconst DialogBoxRoot: React.FC<DialogBoxProps> = ({\n open,\n onDismiss,\n dismiss,\n hideOverlay = false,\n disableOverlayDismiss = false,\n disableEscDismiss = false,\n role = 'dialog',\n className,\n children,\n ...rest\n}) => {\n const surfaceRef = useRef<HTMLDivElement | null>(null);\n const previouslyFocusedRef = useRef<HTMLElement | null>(null);\n const autoTitleId = useId();\n const autoDescriptionId = useId();\n const titleId = `tds-dialog-box-title-${autoTitleId}`;\n const descriptionId = `tds-dialog-box-body-${autoDescriptionId}`;\n\n const requestDismiss = useCallback(() => {\n if (onDismiss) onDismiss();\n }, [onDismiss]);\n\n useEffect(() => {\n if (!open || disableEscDismiss) return undefined;\n const handler = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n requestDismiss();\n }\n };\n window.addEventListener('keydown', handler);\n return () => window.removeEventListener('keydown', handler);\n }, [open, disableEscDismiss, requestDismiss]);\n\n useEffect(() => {\n if (!open) return undefined;\n previouslyFocusedRef.current = document.activeElement as HTMLElement | null;\n surfaceRef.current?.focus({ preventScroll: true });\n return () => {\n previouslyFocusedRef.current?.focus?.();\n };\n }, [open]);\n\n if (!open) return null;\n\n const decoratedChildren = React.Children.map(children, (child) => {\n if (!React.isValidElement(child)) return child;\n if (child.type === DialogBoxHeader) {\n const childProps = (child as React.ReactElement<DialogBoxHeaderProps>)\n .props;\n // Root `dismiss` mirrors the Figma master toggle; an explicit Header `dismiss` still wins.\n const resolvedDismiss =\n childProps.dismiss !== undefined ? childProps.dismiss : dismiss;\n return React.cloneElement(\n child as React.ReactElement<DialogBoxHeaderProps>,\n {\n onDismiss: requestDismiss,\n titleId,\n dismiss: resolvedDismiss\n }\n );\n }\n if (child.type === DialogBoxBody) {\n return React.cloneElement(\n child as React.ReactElement<DialogBoxBodyProps>,\n {\n descriptionId\n }\n );\n }\n return child;\n });\n\n const handleOverlayClick = () => {\n if (!disableOverlayDismiss) requestDismiss();\n };\n\n return (\n <div\n className={cn(\n 'tds-dialog-box',\n hideOverlay && 'tds-dialog-box--no-overlay',\n className\n )}\n {...rest}\n >\n {!hideOverlay && (\n <div\n className=\"tds-dialog-box__overlay\"\n aria-hidden=\"true\"\n onClick={handleOverlayClick}\n />\n )}\n <div\n ref={surfaceRef}\n className=\"tds-dialog-box__surface\"\n role={role}\n aria-modal=\"true\"\n aria-labelledby={titleId}\n aria-describedby={descriptionId}\n tabIndex={-1}\n >\n {decoratedChildren}\n </div>\n </div>\n );\n};\n\nconst DialogBox = DialogBoxRoot as React.FC<DialogBoxProps> &\n DialogBoxComposition;\nDialogBox.Header = DialogBoxHeader;\nDialogBox.Body = DialogBoxBody;\nDialogBox.Footer = DialogBoxFooter;\nDialogBox.displayName = 'DialogBox';\nDialogBoxHeader.displayName = 'DialogBox.Header';\nDialogBoxBody.displayName = 'DialogBox.Body';\nDialogBoxFooter.displayName = 'DialogBox.Footer';\n\nexport { DialogBox };\n","import React, { forwardRef } from 'react';\nimport { cn } from '../utils/cn';\nimport './styles.css';\nimport { IconName } from '@times-design-system/icons';\nimport { Icon } from '../Icon/Icon';\n\ntype TabState = 'base' | 'hover' | 'pressed' | 'disabled' | 'focus';\ntype TabSize = 'medium' | 'large';\n\nexport interface TabProps {\n /** Visual preview state for parity/testing */\n state?: TabState;\n /** Tab size variant */\n size?: TabSize;\n /** Whether the tab is the selected tab in its group */\n active?: boolean;\n /** Applies channel color token family */\n channel?: boolean;\n /** Show a leading icon */\n leftIcon?: IconName;\n /** Show a trailing icon */\n rightIcon?: IconName;\n /** Visible label */\n label?: React.ReactNode;\n /** Optional alias for label content */\n children?: React.ReactNode;\n /** Optional accessible name override */\n 'aria-label'?: string;\n /** Optional camelCase alias for aria-label */\n ariaLabel?: string;\n /** Optional id for aria-controls relationships */\n id?: string;\n /** Id of the panel this tab controls */\n 'aria-controls'?: string;\n /** @ignore */\n onClick?: React.MouseEventHandler<HTMLButtonElement>;\n /** @ignore */\n onKeyDown?: React.KeyboardEventHandler<HTMLButtonElement>;\n /** @ignore */\n className?: string;\n /** @ignore */\n disabled?: boolean;\n /** @ignore */\n tabIndex?: number;\n}\n\n/** Single tab inside a TabGroup. Render through TabGroup for tablist semantics and keyboard nav. */\nexport const Tab = forwardRef<HTMLButtonElement, TabProps>(\n (\n {\n state = 'base',\n size = 'medium',\n active = true,\n channel = false,\n leftIcon,\n rightIcon,\n label,\n children,\n 'aria-label': ariaLabelProp,\n ariaLabel,\n id,\n 'aria-controls': ariaControls,\n onClick,\n onKeyDown,\n className,\n disabled = false,\n tabIndex\n },\n ref\n ) => {\n const resolvedDisabled = disabled || state === 'disabled';\n const resolvedLabel = label ?? children ?? 'Tab Label';\n const resolvedAriaLabel = ariaLabelProp ?? ariaLabel;\n\n return (\n <button\n ref={ref}\n type=\"button\"\n role=\"tab\"\n id={id}\n aria-selected={active}\n aria-controls={ariaControls}\n aria-label={resolvedAriaLabel}\n tabIndex={tabIndex ?? (active ? 0 : -1)}\n className={cn(\n 'tds-tab',\n `tds-tab--state-${state}`,\n `tds-tab--size-${size}`,\n active ? 'tds-tab--active-true' : 'tds-tab--active-false',\n channel ? 'tds-tab--channel-true' : 'tds-tab--channel-false',\n className\n )}\n disabled={resolvedDisabled}\n onClick={onClick}\n onKeyDown={onKeyDown}\n >\n {leftIcon && (\n <span className=\"tds-tab__icon\" aria-hidden=\"true\">\n <Icon iconName={leftIcon} />\n </span>\n )}\n\n <span className=\"tds-tab__label\">{resolvedLabel}</span>\n\n {rightIcon && (\n <span className=\"tds-tab__icon\" aria-hidden=\"true\">\n <Icon iconName={rightIcon} />\n </span>\n )}\n </button>\n );\n }\n);\n\nTab.displayName = 'Tab';\n","import React, {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n useRef,\n useState\n} from 'react';\nimport { cn } from '../utils/cn';\nimport './styles.css';\nimport { type TabProps } from '../Tab/Tab';\n\ntype TabGroupBehaviour = 'hug' | '100%';\n\nexport interface TabGroupProps {\n /** Sizing behaviour: hug content or fill the container */\n behaviour?: TabGroupBehaviour;\n /** Index of the initially selected tab (uncontrolled) */\n defaultSelectedIndex?: number;\n /** Index of the selected tab (controlled) */\n selectedIndex?: number;\n /** Callback fired when the selected tab changes */\n onSelectedIndexChange?: (index: number) => void;\n /** Tab children */\n children?: React.ReactNode;\n /** Optional accessible name for the tablist */\n 'aria-label'?: string;\n /** Optional camelCase alias for aria-label */\n ariaLabel?: string;\n /** Optional id for the tablist root */\n id?: string;\n /** @ignore */\n className?: string;\n}\n\nconst isTabElement = (\n node: React.ReactNode\n): node is React.ReactElement<TabProps> => isValidElement(node);\n\n/**\n * React.Children.toArray does not unpack fragments; this walker does, so a\n * caller can pass <>...</> or any nested fragment of Tab children.\n */\nconst flattenChildren = (children: React.ReactNode): React.ReactNode[] => {\n const out: React.ReactNode[] = [];\n Children.forEach(children, (child) => {\n if (isValidElement(child) && child.type === React.Fragment) {\n out.push(\n ...flattenChildren(\n (child.props as { children?: React.ReactNode }).children\n )\n );\n } else {\n out.push(child);\n }\n });\n return out;\n};\n\n/** Tablist container that manages selection and keyboard navigation across Tab children. */\nexport const TabGroup: React.FC<TabGroupProps> = ({\n behaviour = 'hug',\n defaultSelectedIndex = 0,\n selectedIndex: controlledSelectedIndex,\n onSelectedIndexChange,\n children,\n 'aria-label': ariaLabelProp,\n ariaLabel,\n id,\n className\n}) => {\n const isControlled = controlledSelectedIndex !== undefined;\n const [internalSelectedIndex, setInternalSelectedIndex] =\n useState(defaultSelectedIndex);\n const selectedIndex = isControlled\n ? (controlledSelectedIndex as number)\n : internalSelectedIndex;\n const resolvedAriaLabel = ariaLabelProp ?? ariaLabel;\n\n const tabRefs = useRef<Array<HTMLButtonElement | null>>([]);\n\n const tabChildren = useMemo(() => {\n return flattenChildren(children).filter(isTabElement);\n }, [children]);\n\n const focusTabAt = useCallback((index: number) => {\n const node = tabRefs.current[index];\n if (node) {\n node.focus();\n }\n }, []);\n\n const selectIndex = useCallback(\n (nextIndex: number) => {\n if (!isControlled) {\n setInternalSelectedIndex(nextIndex);\n }\n onSelectedIndexChange?.(nextIndex);\n },\n [isControlled, onSelectedIndexChange]\n );\n\n const findNextEnabledIndex = useCallback(\n (startIndex: number, direction: 1 | -1): number => {\n const total = tabChildren.length;\n if (total === 0) return startIndex;\n let nextIndex = startIndex;\n for (let i = 0; i < total; i += 1) {\n nextIndex = (nextIndex + direction + total) % total;\n const child = tabChildren[nextIndex];\n if (!child.props.disabled && child.props.state !== 'disabled') {\n return nextIndex;\n }\n }\n return startIndex;\n },\n [tabChildren]\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n const total = tabChildren.length;\n if (total === 0) return;\n\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowRight':\n nextIndex = findNextEnabledIndex(selectedIndex, 1);\n break;\n case 'ArrowLeft':\n nextIndex = findNextEnabledIndex(selectedIndex, -1);\n break;\n case 'Home':\n nextIndex = findNextEnabledIndex(-1, 1);\n break;\n case 'End':\n nextIndex = findNextEnabledIndex(total, -1);\n break;\n default:\n return;\n }\n\n if (nextIndex !== null && nextIndex !== selectedIndex) {\n event.preventDefault();\n selectIndex(nextIndex);\n focusTabAt(nextIndex);\n }\n },\n [tabChildren, selectedIndex, findNextEnabledIndex, selectIndex, focusTabAt]\n );\n\n return (\n <div\n role=\"tablist\"\n aria-orientation=\"horizontal\"\n aria-label={resolvedAriaLabel}\n id={id}\n className={cn(\n 'tds-tab-group',\n `tds-tab-group--behaviour-${behaviour === '100%' ? 'fill' : 'hug'}`,\n className\n )}\n onKeyDown={handleKeyDown}\n >\n {tabChildren.map((child, index) => {\n const isActive = index === selectedIndex;\n const originalOnClick = child.props.onClick;\n\n return cloneElement(child, {\n key: child.key ?? index,\n active: isActive,\n tabIndex: isActive ? 0 : -1,\n ref: (node: HTMLButtonElement | null) => {\n tabRefs.current[index] = node;\n },\n onClick: (event: React.MouseEvent<HTMLButtonElement>) => {\n originalOnClick?.(event);\n if (!event.defaultPrevented) {\n selectIndex(index);\n }\n }\n } as Partial<TabProps> & { ref: React.Ref<HTMLButtonElement> });\n })}\n </div>\n );\n};\n"],"names":["HELPER_MESSAGE_ICON","error","success","info","warning","InputHelperMessage","_ref","type","message","id","className","iconName","React","createElement","cn","concat","Icon","size","width","height","DialogBoxHeader","_ref$dismiss","dismiss","onDismiss","titleId","children","rest","_objectWithoutProperties","_excluded","_objectSpread","role","onClick","DialogBoxBody","_ref2","descriptionId","_excluded2","DialogBoxFooter","_ref3","_excluded3","DialogBoxRoot","_ref4","open","_ref4$hideOverlay","hideOverlay","_ref4$disableOverlayD","disableOverlayDismiss","_ref4$disableEscDismi","disableEscDismiss","_ref4$role","_excluded4","surfaceRef","useRef","previouslyFocusedRef","autoTitleId","useId","autoDescriptionId","requestDismiss","useCallback","useEffect","undefined","handler","event","key","stopPropagation","window","addEventListener","removeEventListener","_surfaceRef$current","current","document","activeElement","focus","preventScroll","_previouslyFocusedRef","_previouslyFocusedRef2","call","decoratedChildren","Children","map","child","isValidElement","childProps","props","resolvedDismiss","cloneElement","handleOverlayClick","ref","tabIndex","DialogBox","Header","Body","Footer","displayName","Tab","forwardRef","_ref$state","state","_ref$size","_ref$active","active","_ref$channel","channel","leftIcon","rightIcon","label","ariaLabelProp","ariaLabel","ariaControls","onKeyDown","_ref$disabled","disabled","resolvedDisabled","resolvedLabel","resolvedAriaLabel","isTabElement","node","flattenChildren","out","forEach","Fragment","push","apply","_toConsumableArray","TabGroup","_ref$behaviour","behaviour","_ref$defaultSelectedI","defaultSelectedIndex","controlledSelectedIndex","selectedIndex","onSelectedIndexChange","isControlled","_useState","useState","_useState2","_slicedToArray","internalSelectedIndex","setInternalSelectedIndex","tabRefs","tabChildren","useMemo","filter","focusTabAt","index","selectIndex","nextIndex","findNextEnabledIndex","startIndex","direction","total","length","i","handleKeyDown","preventDefault","_child$key","isActive","originalOnClick","defaultPrevented"],"mappings":"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"}
|