intergalactic 15.104.1 → 15.105.0-prerelease.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/CHANGELOG.md +23 -0
- package/button/index.d.ts +6 -0
- package/button/lib/cjs/Button.js +84 -67
- package/button/lib/cjs/Button.js.map +1 -1
- package/button/lib/cjs/index.d.js.map +1 -1
- package/button/lib/es6/Button.js +85 -67
- package/button/lib/es6/Button.js.map +1 -1
- package/button/lib/es6/index.d.js.map +1 -1
- package/button/lib/types/index.d.ts +6 -0
- package/components.json +5 -5
- package/data-table/Head.d.ts +4 -1
- package/data-table/lib/cjs/Body.js +3 -3
- package/data-table/lib/cjs/DataTable.js +36 -37
- package/data-table/lib/cjs/DataTable.js.map +1 -1
- package/data-table/lib/cjs/Head.js +13 -8
- package/data-table/lib/cjs/Head.js.map +1 -1
- package/data-table/lib/cjs/style/data-table.shadow.css +7 -4
- package/data-table/lib/es6/Body.js +3 -3
- package/data-table/lib/es6/DataTable.js +36 -37
- package/data-table/lib/es6/DataTable.js.map +1 -1
- package/data-table/lib/es6/Head.js +13 -8
- package/data-table/lib/es6/Head.js.map +1 -1
- package/data-table/lib/es6/style/data-table.shadow.css +7 -4
- package/data-table/lib/types/Head.d.ts +4 -1
- package/data-table/package.json +1 -1
- package/feedback-form/lib/cjs/FeedbackForm.js +9 -9
- package/feedback-form/lib/cjs/FeedbackForm.js.map +1 -1
- package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +13 -16
- package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
- package/feedback-form/lib/es6/FeedbackForm.js +9 -9
- package/feedback-form/lib/es6/FeedbackForm.js.map +1 -1
- package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +9 -12
- package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js.map +1 -1
- package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
- package/feedback-form/package.json +1 -1
- package/fullscreen-modal/index.d.ts +2 -2
- package/fullscreen-modal/lib/cjs/index.d.js.map +1 -1
- package/fullscreen-modal/lib/es6/index.d.js.map +1 -1
- package/fullscreen-modal/lib/types/index.d.ts +2 -2
- package/inline-edit/lib/cjs/InlineEdit.js +4 -4
- package/inline-edit/lib/cjs/translations/de.json +1 -1
- package/inline-edit/lib/cjs/translations/es.json +1 -1
- package/inline-edit/lib/cjs/translations/fr.json +1 -1
- package/inline-edit/lib/cjs/translations/it.json +1 -1
- package/inline-edit/lib/cjs/translations/ja.json +1 -1
- package/inline-edit/lib/cjs/translations/ko.json +1 -1
- package/inline-edit/lib/cjs/translations/nl.json +1 -1
- package/inline-edit/lib/cjs/translations/pl.json +1 -1
- package/inline-edit/lib/cjs/translations/pt.json +1 -1
- package/inline-edit/lib/cjs/translations/sv.json +1 -1
- package/inline-edit/lib/cjs/translations/tr.json +1 -1
- package/inline-edit/lib/cjs/translations/vi.json +1 -1
- package/inline-edit/lib/cjs/translations/zh.json +1 -1
- package/inline-edit/lib/es6/InlineEdit.js +4 -4
- package/inline-edit/lib/es6/translations/de.json +1 -1
- package/inline-edit/lib/es6/translations/es.json +1 -1
- package/inline-edit/lib/es6/translations/fr.json +1 -1
- package/inline-edit/lib/es6/translations/it.json +1 -1
- package/inline-edit/lib/es6/translations/ja.json +1 -1
- package/inline-edit/lib/es6/translations/ko.json +1 -1
- package/inline-edit/lib/es6/translations/nl.json +1 -1
- package/inline-edit/lib/es6/translations/pl.json +1 -1
- package/inline-edit/lib/es6/translations/pt.json +1 -1
- package/inline-edit/lib/es6/translations/sv.json +1 -1
- package/inline-edit/lib/es6/translations/tr.json +1 -1
- package/inline-edit/lib/es6/translations/vi.json +1 -1
- package/inline-edit/lib/es6/translations/zh.json +1 -1
- package/inline-edit/package.json +1 -1
- package/modal/index.d.ts +2 -1
- package/modal/lib/cjs/index.d.js.map +1 -1
- package/modal/lib/es6/index.d.js.map +1 -1
- package/modal/lib/types/index.d.ts +2 -1
- package/notice/index.d.ts +2 -2
- package/notice/lib/cjs/Notice.js +19 -17
- package/notice/lib/cjs/Notice.js.map +1 -1
- package/notice/lib/cjs/index.d.js.map +1 -1
- package/notice/lib/cjs/style/notice.shadow.css +3 -1
- package/notice/lib/es6/Notice.js +19 -17
- package/notice/lib/es6/Notice.js.map +1 -1
- package/notice/lib/es6/index.d.js.map +1 -1
- package/notice/lib/es6/style/notice.shadow.css +3 -1
- package/notice/lib/types/index.d.ts +2 -2
- package/notice/package.json +1 -1
- package/package.json +1 -1
- package/side-panel/index.d.ts +2 -1
- package/side-panel/lib/cjs/index.d.js.map +1 -1
- package/side-panel/lib/es6/index.d.js.map +1 -1
- package/side-panel/lib/types/index.d.ts +2 -1
- package/time-picker/lib/cjs/TimePicker.js +12 -12
- package/time-picker/lib/cjs/translations/de.json +6 -5
- package/time-picker/lib/cjs/translations/es.json +6 -5
- package/time-picker/lib/cjs/translations/fr.json +6 -5
- package/time-picker/lib/cjs/translations/it.json +6 -5
- package/time-picker/lib/cjs/translations/ja.json +6 -5
- package/time-picker/lib/cjs/translations/ko.json +6 -5
- package/time-picker/lib/cjs/translations/nl.json +6 -5
- package/time-picker/lib/cjs/translations/pl.json +6 -5
- package/time-picker/lib/cjs/translations/pt.json +6 -5
- package/time-picker/lib/cjs/translations/sv.json +6 -5
- package/time-picker/lib/cjs/translations/tr.json +6 -5
- package/time-picker/lib/cjs/translations/vi.json +6 -5
- package/time-picker/lib/cjs/translations/zh.json +6 -5
- package/time-picker/lib/es6/TimePicker.js +12 -12
- package/time-picker/lib/es6/translations/de.json +6 -5
- package/time-picker/lib/es6/translations/es.json +6 -5
- package/time-picker/lib/es6/translations/fr.json +6 -5
- package/time-picker/lib/es6/translations/it.json +6 -5
- package/time-picker/lib/es6/translations/ja.json +6 -5
- package/time-picker/lib/es6/translations/ko.json +6 -5
- package/time-picker/lib/es6/translations/nl.json +6 -5
- package/time-picker/lib/es6/translations/pl.json +6 -5
- package/time-picker/lib/es6/translations/pt.json +6 -5
- package/time-picker/lib/es6/translations/sv.json +6 -5
- package/time-picker/lib/es6/translations/tr.json +6 -5
- package/time-picker/lib/es6/translations/vi.json +6 -5
- package/time-picker/lib/es6/translations/zh.json +6 -5
- package/time-picker/package.json +1 -1
package/CHANGELOG.md
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
## [15.105.0] - 2024-08-16
|
2
|
+
|
3
|
+
### @semcore/data-table
|
4
|
+
|
5
|
+
- **Fixed** Sort icon behavior.
|
6
|
+
- **Fixed** Columns width (min-width) calculation.
|
7
|
+
|
8
|
+
### @semcore/feedback-form
|
9
|
+
|
10
|
+
- **Fixed** Using `theme` property for Notice.
|
11
|
+
|
12
|
+
### @semcore/inline-edit
|
13
|
+
|
14
|
+
- **Changed** Updated translations.
|
15
|
+
|
16
|
+
### @semcore/notice
|
17
|
+
|
18
|
+
- **Changed** Close icon to `Button` component.
|
19
|
+
|
20
|
+
### @semcore/time-picker
|
21
|
+
|
22
|
+
- **Changed** Updated translations.
|
23
|
+
|
1
24
|
## [15.104.1] - 2024-08-13
|
2
25
|
|
3
26
|
### @semcore/accordion
|
package/button/index.d.ts
CHANGED
@@ -3,6 +3,7 @@ import { PropGetterFn, UnknownProperties, Intergalactic } from 'intergalactic/co
|
|
3
3
|
import { KeyboardFocusProps } from 'intergalactic/utils/lib/enhances/keyboardFocusEnhance';
|
4
4
|
import { BoxProps } from 'intergalactic/flex-box';
|
5
5
|
import { NeighborItemProps } from 'intergalactic/neighbor-location';
|
6
|
+
import { TooltipHintProps } from 'intergalactic/tooltip';
|
6
7
|
|
7
8
|
export type ButtonSize = 'l' | 'm';
|
8
9
|
|
@@ -33,6 +34,11 @@ export type ButtonProps = BoxProps &
|
|
33
34
|
addonLeft?: React.ElementType;
|
34
35
|
/** Tag for the right Addon */
|
35
36
|
addonRight?: React.ElementType;
|
37
|
+
/**
|
38
|
+
* Placement for hint
|
39
|
+
* @default top
|
40
|
+
*/
|
41
|
+
hintPlacement?: TooltipHintProps['placement'];
|
36
42
|
};
|
37
43
|
|
38
44
|
/** @deprecated */
|
package/button/lib/cjs/Button.js
CHANGED
@@ -70,7 +70,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
70
70
|
_this = _super.call.apply(_super, [this].concat(args));
|
71
71
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "containerRef", /*#__PURE__*/_react["default"].createRef());
|
72
72
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
73
|
-
ariaLabelledByContent:
|
73
|
+
ariaLabelledByContent: null
|
74
74
|
});
|
75
75
|
return _this;
|
76
76
|
}
|
@@ -95,7 +95,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
95
95
|
value: function componentDidMount() {
|
96
96
|
var _this2 = this;
|
97
97
|
if (process.env.NODE_ENV !== 'production') {
|
98
|
-
_logger["default"].warn(this.containerRef.current && !(0, _hasLabels["default"])(this.containerRef.current), "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
|
98
|
+
_logger["default"].warn(this.containerRef.current && !(0, _hasLabels["default"])(this.containerRef.current) && !this.asProps.title, "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
|
99
99
|
}
|
100
100
|
if (this.asProps['aria-labelledby']) {
|
101
101
|
setTimeout(function () {
|
@@ -107,81 +107,98 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
107
107
|
}
|
108
108
|
}
|
109
109
|
}, {
|
110
|
-
key: "
|
111
|
-
value: function
|
112
|
-
var
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
return
|
119
|
-
tag: AddonLeft
|
120
|
-
}) : null, (0, _addonTextChildren["default"])(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/_react["default"].createElement(Button.Addon, {
|
121
|
-
tag: AddonRight
|
122
|
-
}) : null);
|
110
|
+
key: "renderButton",
|
111
|
+
value: function renderButton(_ref10) {
|
112
|
+
var _ref = this.asProps,
|
113
|
+
_ref5;
|
114
|
+
var buttonProps = _ref10.buttonProps,
|
115
|
+
children = _ref10.children;
|
116
|
+
var styles = this.asProps.styles;
|
117
|
+
var SButton = _flexBox.Box;
|
118
|
+
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SButton, _ref5.cn("SButton", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])({}, buttonProps), _ref))), children);
|
123
119
|
}
|
124
120
|
}, {
|
125
|
-
key: "
|
126
|
-
value: function
|
127
|
-
var
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
return _ref5 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_tooltip.Hint, _ref5.cn("Hint", {
|
136
|
-
"tag": Button.Addon,
|
137
|
-
"title": hintContent,
|
138
|
-
"timeout": [250, 50],
|
139
|
-
"__excludeProps": ['aria-label']
|
140
|
-
}), AddonLeft && /*#__PURE__*/_react["default"].createElement(AddonLeft, _ref5.cn("AddonLeft", {})), AddonRight && /*#__PURE__*/_react["default"].createElement(AddonRight, _ref5.cn("AddonRight", {})));
|
121
|
+
key: "renderButtonWithHint",
|
122
|
+
value: function renderButtonWithHint(_ref11) {
|
123
|
+
var _ref2 = this.asProps,
|
124
|
+
_ref6;
|
125
|
+
var buttonProps = _ref11.buttonProps,
|
126
|
+
children = _ref11.children,
|
127
|
+
hintProps = _ref11.hintProps;
|
128
|
+
var styles = this.asProps.styles;
|
129
|
+
var SButton = _tooltip.Hint;
|
130
|
+
return _ref6 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SButton, _ref6.cn("SButton", (0, _objectSpread2["default"])({}, (0, _core.assignProps)((0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, buttonProps), hintProps), _ref2))), children);
|
141
131
|
}
|
142
132
|
}, {
|
143
133
|
key: "render",
|
144
134
|
value: function render() {
|
145
|
-
var
|
135
|
+
var _ref12,
|
136
|
+
_ref13,
|
146
137
|
_this3 = this;
|
147
|
-
var
|
138
|
+
var _this$asProps = this.asProps,
|
139
|
+
styles = _this$asProps.styles,
|
140
|
+
use = _this$asProps.use,
|
141
|
+
_this$asProps$theme = _this$asProps.theme,
|
142
|
+
theme = _this$asProps$theme === void 0 ? typeof use === 'string' && MAP_USE_DEFAULT_THEME[use] : _this$asProps$theme,
|
143
|
+
loading = _this$asProps.loading,
|
144
|
+
_this$asProps$disable = _this$asProps.disabled,
|
145
|
+
disabled = _this$asProps$disable === void 0 ? loading : _this$asProps$disable,
|
146
|
+
size = _this$asProps.size,
|
147
|
+
neighborLocation = _this$asProps.neighborLocation,
|
148
|
+
hasChildren = _this$asProps.children,
|
149
|
+
title = _this$asProps.title,
|
150
|
+
ariaLabel = _this$asProps['aria-label'],
|
151
|
+
Children = _this$asProps.Children,
|
152
|
+
AddonLeft = _this$asProps.addonLeft,
|
153
|
+
AddonRight = _this$asProps.addonRight,
|
154
|
+
hintPlacement = _this$asProps.hintPlacement;
|
155
|
+
var useTheme = use && theme ? "".concat(use, "-").concat(theme) : false;
|
148
156
|
var SInner = _flexBox.Box;
|
149
157
|
var SSpin = _flexBox.Box;
|
150
|
-
var
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
var
|
158
|
+
var buttonAriaLabel = (_ref12 = (_ref13 = title !== null && title !== void 0 ? title : ariaLabel) !== null && _ref13 !== void 0 ? _ref13 : this.state.ariaLabelledByContent) !== null && _ref12 !== void 0 ? _ref12 : '';
|
159
|
+
var buttonProps = {
|
160
|
+
type: 'button',
|
161
|
+
tag: 'button',
|
162
|
+
disabled: disabled,
|
163
|
+
'use:theme': useTheme,
|
164
|
+
ref: this.containerRef,
|
165
|
+
'aria-busy': loading,
|
166
|
+
'aria-disabled': disabled,
|
167
|
+
__excludeProps: ['title']
|
168
|
+
};
|
169
|
+
var hintProps = {
|
170
|
+
title: buttonAriaLabel,
|
171
|
+
timeout: [250, 50],
|
172
|
+
placement: hintPlacement,
|
173
|
+
theme: theme === 'invert' ? 'invert' : undefined,
|
174
|
+
__excludeProps: []
|
175
|
+
};
|
162
176
|
return /*#__PURE__*/_react["default"].createElement(_neighborLocation["default"].Detect, {
|
163
177
|
neighborLocation: neighborLocation
|
164
178
|
}, function (neighborLocation) {
|
165
|
-
var
|
166
|
-
|
167
|
-
"type": 'button',
|
168
|
-
"tag": 'button',
|
169
|
-
"disabled": disabled,
|
170
|
-
"neighborLocation": neighborLocation,
|
171
|
-
"use:theme": useTheme,
|
172
|
-
"ref": _this3.containerRef,
|
173
|
-
"aria-busy": loading,
|
174
|
-
"aria-disabled": disabled
|
175
|
-
}, _ref))), /*#__PURE__*/_react["default"].createElement(SInner, _ref6.cn("SInner", {
|
179
|
+
var _ref7;
|
180
|
+
var children = (_ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(SInner, _ref7.cn("SInner", {
|
176
181
|
"tag": 'span',
|
177
182
|
"loading": loading
|
178
|
-
}),
|
183
|
+
}), AddonLeft ? /*#__PURE__*/_react["default"].createElement(Button.Addon, null, /*#__PURE__*/_react["default"].createElement(AddonLeft, _ref7.cn("AddonLeft", {}))) : null, (0, _addonTextChildren["default"])(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/_react["default"].createElement(Button.Addon, null, /*#__PURE__*/_react["default"].createElement(AddonRight, _ref7.cn("AddonRight", {}))) : null), loading && /*#__PURE__*/_react["default"].createElement(SSpin, _ref7.cn("SSpin", {
|
179
184
|
"tag": 'span'
|
180
|
-
}), /*#__PURE__*/_react["default"].createElement(_SpinButton["default"],
|
185
|
+
}), /*#__PURE__*/_react["default"].createElement(_SpinButton["default"], _ref7.cn("SpinButton", {
|
181
186
|
"centered": true,
|
182
187
|
"size": size,
|
183
188
|
"theme": useTheme
|
184
|
-
}))));
|
189
|
+
})))));
|
190
|
+
buttonProps.neighborLocation = neighborLocation;
|
191
|
+
if (!hasChildren || title) {
|
192
|
+
return _this3.renderButtonWithHint({
|
193
|
+
buttonProps: buttonProps,
|
194
|
+
hintProps: hintProps,
|
195
|
+
children: children
|
196
|
+
});
|
197
|
+
}
|
198
|
+
return _this3.renderButton({
|
199
|
+
buttonProps: buttonProps,
|
200
|
+
children: children
|
201
|
+
});
|
185
202
|
});
|
186
203
|
}
|
187
204
|
}]);
|
@@ -195,20 +212,20 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
195
212
|
size: 'm'
|
196
213
|
});
|
197
214
|
function Text(props) {
|
198
|
-
var
|
199
|
-
|
215
|
+
var _ref3 = arguments[0],
|
216
|
+
_ref8;
|
200
217
|
var SText = _flexBox.Box;
|
201
|
-
return
|
218
|
+
return _ref8 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SText, _ref8.cn("SText", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
202
219
|
"tag": 'span'
|
203
|
-
},
|
220
|
+
}, _ref3))));
|
204
221
|
}
|
205
222
|
function Addon(props) {
|
206
|
-
var
|
207
|
-
|
223
|
+
var _ref4 = arguments[0],
|
224
|
+
_ref9;
|
208
225
|
var SAddon = _flexBox.Box;
|
209
|
-
return
|
226
|
+
return _ref9 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SAddon, _ref9.cn("SAddon", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
|
210
227
|
"tag": 'span'
|
211
|
-
},
|
228
|
+
}, _ref4))));
|
212
229
|
}
|
213
230
|
var Button = (0, _core["default"])(RootButton, {
|
214
231
|
Text: Text,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_tooltip","_neighborLocation","_keyboardFocusEnhance","_addonTextChildren","_logger","_SpinButton","_hasLabels","style","_index","sstyled","insert","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","exports","RootButton","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","ariaLabelledByContent","_createClass2","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","logger","warn","containerRef","current","hasLabels","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderChildren","_ref4","_this$asProps","Children","styles","AddonLeft","addonLeft","AddonRight","addonRight","createElement","Fragment","Button","Addon","tag","addonTextChildren","Text","renderOnlyAddons","_ref5","_ref9","_ref10","_this$asProps2","title","ariaLabel","hintContent","state","Hint","cn","render","_ref","_this3","SButton","Box","SInner","SSpin","_this$asProps3","use","_this$asProps3$theme","theme","loading","_this$asProps3$disabl","disabled","neighborLocation","hasChildren","children","useTheme","Detect","_ref6","_objectSpread2","assignProps","Component","keyboardFocusEnhance","props","_ref2","arguments[0]","_ref7","SText","_ref3","_ref8","SAddon","createComponent","_default"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: '',\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current),\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderChildren() {\n const { Children, styles, addonLeft: AddonLeft, addonRight: AddonRight } = this.asProps;\n\n return sstyled(styles)(\n <>\n {AddonLeft ? <Button.Addon tag={AddonLeft} /> : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? <Button.Addon tag={AddonRight} /> : null}\n </>,\n );\n }\n\n renderOnlyAddons() {\n const {\n styles,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n title,\n ['aria-label']: ariaLabel,\n } = this.asProps;\n\n const hintContent = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n return sstyled(styles)(\n <Hint\n tag={Button.Addon}\n title={hintContent}\n timeout={[250, 50]}\n __excludeProps={['aria-label']}\n >\n {AddonLeft && <AddonLeft />}\n {AddonRight && <AddonRight />}\n </Hint>,\n );\n }\n\n render() {\n const SButton = Root;\n const SInner = Box;\n const SSpin = Box;\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SButton\n render={Box}\n type='button'\n tag='button'\n disabled={disabled}\n neighborLocation={neighborLocation}\n use:theme={useTheme}\n ref={this.containerRef}\n aria-busy={loading}\n aria-disabled={disabled}\n >\n <SInner tag='span' loading={loading}>\n {hasChildren ? this.renderChildren() : this.renderOnlyAddons()}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </SButton>,\n )\n }\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Button.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_tooltip","_neighborLocation","_keyboardFocusEnhance","_addonTextChildren","_logger","_SpinButton","_hasLabels","style","_index","sstyled","insert","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","exports","RootButton","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","React","createRef","ariaLabelledByContent","_createClass2","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","logger","warn","containerRef","current","hasLabels","title","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderButton","_ref10","_ref","_ref5","buttonProps","children","styles","SButton","Box","createElement","cn","_objectSpread2","assignProps","renderButtonWithHint","_ref11","_ref2","_ref6","hintProps","Hint","render","_ref12","_ref13","_this3","_this$asProps","use","_this$asProps$theme","theme","loading","_this$asProps$disable","disabled","neighborLocation","hasChildren","ariaLabel","Children","AddonLeft","addonLeft","AddonRight","addonRight","hintPlacement","useTheme","SInner","SSpin","buttonAriaLabel","state","type","tag","ref","__excludeProps","timeout","placement","undefined","Detect","_ref7","Fragment","Button","Addon","addonTextChildren","Text","Component","keyboardFocusEnhance","props","_ref3","arguments[0]","_ref8","SText","_ref4","_ref9","SAddon","createComponent","_default"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: null,\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title,\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderButton({ buttonProps, children }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Box} {...buttonProps}>\n {children}\n </SButton>,\n );\n }\n\n renderButtonWithHint({ buttonProps, children, hintProps }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Hint} {...buttonProps} {...hintProps}>\n {children}\n </SButton>,\n );\n }\n\n render() {\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n title,\n ['aria-label']: ariaLabel,\n Children,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n hintPlacement,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n const SInner = Box;\n const SSpin = Box;\n const buttonAriaLabel = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n const buttonProps = {\n type: 'button',\n tag: 'button',\n disabled,\n 'use:theme': useTheme,\n ref: this.containerRef,\n 'aria-busy': loading,\n 'aria-disabled': disabled,\n __excludeProps: ['title'],\n };\n\n const hintProps = {\n title: buttonAriaLabel,\n timeout: [250, 50],\n placement: hintPlacement,\n theme: theme === 'invert' ? 'invert' : undefined,\n __excludeProps: [],\n };\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) => {\n const children = sstyled(styles)(\n <>\n <SInner tag='span' loading={loading}>\n {AddonLeft ? (\n <Button.Addon>\n <AddonLeft />\n </Button.Addon>\n ) : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? (\n <Button.Addon>\n <AddonRight />\n </Button.Addon>\n ) : null}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </>,\n );\n buttonProps.neighborLocation = neighborLocation;\n\n if (!hasChildren || title) {\n return this.renderButtonWithHint({ buttonProps, hintProps, children });\n }\n\n return this.renderButton({ buttonProps, children });\n }}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps } from '@semcore/neighbor-location';\n\nexport type ButtonSize = 'l' | 'm';\n\n/** @deprecated */\nexport interface IButtonProps extends ButtonProps, UnknownProperties {}\nexport type ButtonProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\n /**\n * Button type\n * @default secondary\n */\n use?: 'primary' | 'secondary' | 'tertiary';\n /** Button theme */\n theme?: 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'invert';\n /** Button activity state */\n active?: boolean;\n /**\n * Button size\n * @default m\n */\n size?: ButtonSize;\n /** Disabled button state */\n disabled?: boolean;\n /** Loading button state */\n loading?: boolean;\n /** Tag for the left Addon */\n addonLeft?: React.ElementType;\n /** Tag for the right Addon */\n addonRight?: React.ElementType;\n };\n\n/** @deprecated */\nexport interface IButtonTextProps extends ButtonTextProps, UnknownProperties {}\nexport type ButtonTextProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonAddonProps extends ButtonAddonProps, UnknownProperties {}\nexport type ButtonAddonProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonContext extends ButtonContext, UnknownProperties {}\nexport type ButtonContext = {\n getTextProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Button: Intergalactic.Component<'button', ButtonProps, ButtonContext> & {\n Text: Intergalactic.Component<'span', ButtonTextProps>;\n Addon: Intergalactic.Component<'span', ButtonAddonProps>;\n};\n\nexport default Button;\n"],"mappings":""}
|
1
|
+
{"version":3,"file":"index.d.js","names":[],"sources":["../../src/index.d.ts"],"sourcesContent":["import React from 'react';\nimport { PropGetterFn, UnknownProperties, Intergalactic } from '@semcore/core';\nimport { KeyboardFocusProps } from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { BoxProps } from '@semcore/flex-box';\nimport { NeighborItemProps } from '@semcore/neighbor-location';\nimport { TooltipHintProps } from '@semcore/tooltip';\n\nexport type ButtonSize = 'l' | 'm';\n\n/** @deprecated */\nexport interface IButtonProps extends ButtonProps, UnknownProperties {}\nexport type ButtonProps = BoxProps &\n NeighborItemProps &\n KeyboardFocusProps & {\n /**\n * Button type\n * @default secondary\n */\n use?: 'primary' | 'secondary' | 'tertiary';\n /** Button theme */\n theme?: 'info' | 'success' | 'warning' | 'danger' | 'muted' | 'invert';\n /** Button activity state */\n active?: boolean;\n /**\n * Button size\n * @default m\n */\n size?: ButtonSize;\n /** Disabled button state */\n disabled?: boolean;\n /** Loading button state */\n loading?: boolean;\n /** Tag for the left Addon */\n addonLeft?: React.ElementType;\n /** Tag for the right Addon */\n addonRight?: React.ElementType;\n /**\n * Placement for hint\n * @default top\n */\n hintPlacement?: TooltipHintProps['placement'];\n };\n\n/** @deprecated */\nexport interface IButtonTextProps extends ButtonTextProps, UnknownProperties {}\nexport type ButtonTextProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonAddonProps extends ButtonAddonProps, UnknownProperties {}\nexport type ButtonAddonProps = BoxProps & {\n size?: ButtonSize;\n};\n\n/** @deprecated */\nexport interface IButtonContext extends ButtonContext, UnknownProperties {}\nexport type ButtonContext = {\n getTextProps: PropGetterFn;\n getAddonProps: PropGetterFn;\n};\n\ndeclare const Button: Intergalactic.Component<'button', ButtonProps, ButtonContext> & {\n Text: Intergalactic.Component<'span', ButtonTextProps>;\n Addon: Intergalactic.Component<'span', ButtonAddonProps>;\n};\n\nexport default Button;\n"],"mappings":""}
|
package/button/lib/es6/Button.js
CHANGED
@@ -6,6 +6,7 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
6
|
import _createSuper from "@babel/runtime/helpers/createSuper";
|
7
7
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
8
8
|
import { sstyled as _sstyled } from 'intergalactic/utils/lib/core/index';
|
9
|
+
import { assignProps as _assignProps4 } from 'intergalactic/core';
|
9
10
|
import { assignProps as _assignProps3 } from 'intergalactic/core';
|
10
11
|
import { assignProps as _assignProps2 } from 'intergalactic/core';
|
11
12
|
import { assignProps as _assignProps } from 'intergalactic/core';
|
@@ -64,7 +65,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
64
65
|
_this = _super.call.apply(_super, [this].concat(args));
|
65
66
|
_defineProperty(_assertThisInitialized(_this), "containerRef", /*#__PURE__*/React.createRef());
|
66
67
|
_defineProperty(_assertThisInitialized(_this), "state", {
|
67
|
-
ariaLabelledByContent:
|
68
|
+
ariaLabelledByContent: null
|
68
69
|
});
|
69
70
|
return _this;
|
70
71
|
}
|
@@ -89,7 +90,7 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
89
90
|
value: function componentDidMount() {
|
90
91
|
var _this2 = this;
|
91
92
|
if (process.env.NODE_ENV !== 'production') {
|
92
|
-
logger.warn(this.containerRef.current && !hasLabels(this.containerRef.current), "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
|
93
|
+
logger.warn(this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title, "'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content", this.asProps['data-ui-name'] || RootButton.displayName);
|
93
94
|
}
|
94
95
|
if (this.asProps['aria-labelledby']) {
|
95
96
|
setTimeout(function () {
|
@@ -101,81 +102,98 @@ var RootButton = /*#__PURE__*/function (_Component) {
|
|
101
102
|
}
|
102
103
|
}
|
103
104
|
}, {
|
104
|
-
key: "
|
105
|
-
value: function
|
106
|
-
var
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
return
|
113
|
-
tag: AddonLeft
|
114
|
-
}) : null, addonTextChildren(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/React.createElement(Button.Addon, {
|
115
|
-
tag: AddonRight
|
116
|
-
}) : null);
|
105
|
+
key: "renderButton",
|
106
|
+
value: function renderButton(_ref10) {
|
107
|
+
var _ref = this.asProps,
|
108
|
+
_ref5;
|
109
|
+
var buttonProps = _ref10.buttonProps,
|
110
|
+
children = _ref10.children;
|
111
|
+
var styles = this.asProps.styles;
|
112
|
+
var SButton = Box;
|
113
|
+
return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(SButton, _ref5.cn("SButton", _objectSpread({}, _assignProps(_objectSpread({}, buttonProps), _ref))), children);
|
117
114
|
}
|
118
115
|
}, {
|
119
|
-
key: "
|
120
|
-
value: function
|
121
|
-
var
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
return _ref5 = sstyled(styles), /*#__PURE__*/React.createElement(Hint, _ref5.cn("Hint", {
|
130
|
-
"tag": Button.Addon,
|
131
|
-
"title": hintContent,
|
132
|
-
"timeout": [250, 50],
|
133
|
-
"__excludeProps": ['aria-label']
|
134
|
-
}), AddonLeft && /*#__PURE__*/React.createElement(AddonLeft, _ref5.cn("AddonLeft", {})), AddonRight && /*#__PURE__*/React.createElement(AddonRight, _ref5.cn("AddonRight", {})));
|
116
|
+
key: "renderButtonWithHint",
|
117
|
+
value: function renderButtonWithHint(_ref11) {
|
118
|
+
var _ref2 = this.asProps,
|
119
|
+
_ref6;
|
120
|
+
var buttonProps = _ref11.buttonProps,
|
121
|
+
children = _ref11.children,
|
122
|
+
hintProps = _ref11.hintProps;
|
123
|
+
var styles = this.asProps.styles;
|
124
|
+
var SButton = Hint;
|
125
|
+
return _ref6 = sstyled(styles), /*#__PURE__*/React.createElement(SButton, _ref6.cn("SButton", _objectSpread({}, _assignProps2(_objectSpread(_objectSpread({}, buttonProps), hintProps), _ref2))), children);
|
135
126
|
}
|
136
127
|
}, {
|
137
128
|
key: "render",
|
138
129
|
value: function render() {
|
139
|
-
var
|
130
|
+
var _ref12,
|
131
|
+
_ref13,
|
140
132
|
_this3 = this;
|
141
|
-
var
|
133
|
+
var _this$asProps = this.asProps,
|
134
|
+
styles = _this$asProps.styles,
|
135
|
+
use = _this$asProps.use,
|
136
|
+
_this$asProps$theme = _this$asProps.theme,
|
137
|
+
theme = _this$asProps$theme === void 0 ? typeof use === 'string' && MAP_USE_DEFAULT_THEME[use] : _this$asProps$theme,
|
138
|
+
loading = _this$asProps.loading,
|
139
|
+
_this$asProps$disable = _this$asProps.disabled,
|
140
|
+
disabled = _this$asProps$disable === void 0 ? loading : _this$asProps$disable,
|
141
|
+
size = _this$asProps.size,
|
142
|
+
neighborLocation = _this$asProps.neighborLocation,
|
143
|
+
hasChildren = _this$asProps.children,
|
144
|
+
title = _this$asProps.title,
|
145
|
+
ariaLabel = _this$asProps['aria-label'],
|
146
|
+
Children = _this$asProps.Children,
|
147
|
+
AddonLeft = _this$asProps.addonLeft,
|
148
|
+
AddonRight = _this$asProps.addonRight,
|
149
|
+
hintPlacement = _this$asProps.hintPlacement;
|
150
|
+
var useTheme = use && theme ? "".concat(use, "-").concat(theme) : false;
|
142
151
|
var SInner = Box;
|
143
152
|
var SSpin = Box;
|
144
|
-
var
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
var
|
153
|
+
var buttonAriaLabel = (_ref12 = (_ref13 = title !== null && title !== void 0 ? title : ariaLabel) !== null && _ref13 !== void 0 ? _ref13 : this.state.ariaLabelledByContent) !== null && _ref12 !== void 0 ? _ref12 : '';
|
154
|
+
var buttonProps = {
|
155
|
+
type: 'button',
|
156
|
+
tag: 'button',
|
157
|
+
disabled: disabled,
|
158
|
+
'use:theme': useTheme,
|
159
|
+
ref: this.containerRef,
|
160
|
+
'aria-busy': loading,
|
161
|
+
'aria-disabled': disabled,
|
162
|
+
__excludeProps: ['title']
|
163
|
+
};
|
164
|
+
var hintProps = {
|
165
|
+
title: buttonAriaLabel,
|
166
|
+
timeout: [250, 50],
|
167
|
+
placement: hintPlacement,
|
168
|
+
theme: theme === 'invert' ? 'invert' : undefined,
|
169
|
+
__excludeProps: []
|
170
|
+
};
|
156
171
|
return /*#__PURE__*/React.createElement(NeighborLocation.Detect, {
|
157
172
|
neighborLocation: neighborLocation
|
158
173
|
}, function (neighborLocation) {
|
159
|
-
var
|
160
|
-
|
161
|
-
"type": 'button',
|
162
|
-
"tag": 'button',
|
163
|
-
"disabled": disabled,
|
164
|
-
"neighborLocation": neighborLocation,
|
165
|
-
"use:theme": useTheme,
|
166
|
-
"ref": _this3.containerRef,
|
167
|
-
"aria-busy": loading,
|
168
|
-
"aria-disabled": disabled
|
169
|
-
}, _ref))), /*#__PURE__*/React.createElement(SInner, _ref6.cn("SInner", {
|
174
|
+
var _ref7;
|
175
|
+
var children = (_ref7 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SInner, _ref7.cn("SInner", {
|
170
176
|
"tag": 'span',
|
171
177
|
"loading": loading
|
172
|
-
}),
|
178
|
+
}), AddonLeft ? /*#__PURE__*/React.createElement(Button.Addon, null, /*#__PURE__*/React.createElement(AddonLeft, _ref7.cn("AddonLeft", {}))) : null, addonTextChildren(Children, Button.Text, Button.Addon), AddonRight ? /*#__PURE__*/React.createElement(Button.Addon, null, /*#__PURE__*/React.createElement(AddonRight, _ref7.cn("AddonRight", {}))) : null), loading && /*#__PURE__*/React.createElement(SSpin, _ref7.cn("SSpin", {
|
173
179
|
"tag": 'span'
|
174
|
-
}), /*#__PURE__*/React.createElement(SpinButton,
|
180
|
+
}), /*#__PURE__*/React.createElement(SpinButton, _ref7.cn("SpinButton", {
|
175
181
|
"centered": true,
|
176
182
|
"size": size,
|
177
183
|
"theme": useTheme
|
178
|
-
}))));
|
184
|
+
})))));
|
185
|
+
buttonProps.neighborLocation = neighborLocation;
|
186
|
+
if (!hasChildren || title) {
|
187
|
+
return _this3.renderButtonWithHint({
|
188
|
+
buttonProps: buttonProps,
|
189
|
+
hintProps: hintProps,
|
190
|
+
children: children
|
191
|
+
});
|
192
|
+
}
|
193
|
+
return _this3.renderButton({
|
194
|
+
buttonProps: buttonProps,
|
195
|
+
children: children
|
196
|
+
});
|
179
197
|
});
|
180
198
|
}
|
181
199
|
}]);
|
@@ -189,20 +207,20 @@ _defineProperty(RootButton, "defaultProps", {
|
|
189
207
|
size: 'm'
|
190
208
|
});
|
191
209
|
function Text(props) {
|
192
|
-
var
|
193
|
-
|
210
|
+
var _ref3 = arguments[0],
|
211
|
+
_ref8;
|
194
212
|
var SText = Box;
|
195
|
-
return
|
213
|
+
return _ref8 = sstyled(props.styles), /*#__PURE__*/React.createElement(SText, _ref8.cn("SText", _objectSpread({}, _assignProps3({
|
196
214
|
"tag": 'span'
|
197
|
-
},
|
215
|
+
}, _ref3))));
|
198
216
|
}
|
199
217
|
function Addon(props) {
|
200
|
-
var
|
201
|
-
|
218
|
+
var _ref4 = arguments[0],
|
219
|
+
_ref9;
|
202
220
|
var SAddon = Box;
|
203
|
-
return
|
221
|
+
return _ref9 = sstyled(props.styles), /*#__PURE__*/React.createElement(SAddon, _ref9.cn("SAddon", _objectSpread({}, _assignProps4({
|
204
222
|
"tag": 'span'
|
205
|
-
},
|
223
|
+
}, _ref4))));
|
206
224
|
}
|
207
225
|
var Button = createComponent(RootButton, {
|
208
226
|
Text: Text,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","createComponent","Component","sstyled","Root","Box","Hint","NeighborLocation","keyboardFocusEnhance","addonTextChildren","logger","SpinButton","style","_sstyled","insert","hasLabels","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","RootButton","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","ariaLabelledByContent","_createClass","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","warn","containerRef","current","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderChildren","_ref4","_this$asProps","Children","styles","AddonLeft","addonLeft","AddonRight","addonRight","createElement","Fragment","Button","Addon","tag","Text","renderOnlyAddons","_ref5","_ref9","_ref10","_this$asProps2","title","ariaLabel","hintContent","state","cn","render","_ref","_this3","SButton","SInner","SSpin","_this$asProps3","use","_this$asProps3$theme","theme","loading","_this$asProps3$disabl","disabled","neighborLocation","hasChildren","children","useTheme","Detect","_ref6","_objectSpread","_assignProps","props","_ref2","arguments[0]","_ref7","SText","_assignProps2","_ref3","_ref8","SAddon","_assignProps3"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: '',\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current),\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderChildren() {\n const { Children, styles, addonLeft: AddonLeft, addonRight: AddonRight } = this.asProps;\n\n return sstyled(styles)(\n <>\n {AddonLeft ? <Button.Addon tag={AddonLeft} /> : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? <Button.Addon tag={AddonRight} /> : null}\n </>,\n );\n }\n\n renderOnlyAddons() {\n const {\n styles,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n title,\n ['aria-label']: ariaLabel,\n } = this.asProps;\n\n const hintContent = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n return sstyled(styles)(\n <Hint\n tag={Button.Addon}\n title={hintContent}\n timeout={[250, 50]}\n __excludeProps={['aria-label']}\n >\n {AddonLeft && <AddonLeft />}\n {AddonRight && <AddonRight />}\n </Hint>,\n );\n }\n\n render() {\n const SButton = Root;\n const SInner = Box;\n const SSpin = Box;\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) =>\n sstyled(styles)(\n <SButton\n render={Box}\n type='button'\n tag='button'\n disabled={disabled}\n neighborLocation={neighborLocation}\n use:theme={useTheme}\n ref={this.containerRef}\n aria-busy={loading}\n aria-disabled={disabled}\n >\n <SInner tag='span' loading={loading}>\n {hasChildren ? this.renderChildren() : this.renderOnlyAddons()}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </SButton>,\n )\n }\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Button.js","names":["React","createComponent","Component","sstyled","Root","Box","Hint","NeighborLocation","keyboardFocusEnhance","addonTextChildren","logger","SpinButton","style","_sstyled","insert","hasLabels","MAP_USE_DEFAULT_THEME","primary","secondary","tertiary","RootButton","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","ariaLabelledByContent","_createClass","key","value","getTextProps","size","asProps","getAddonProps","componentDidMount","_this2","process","env","NODE_ENV","warn","containerRef","current","title","displayName","setTimeout","_document$getElementB","_document$getElementB2","setState","document","getElementById","textContent","renderButton","_ref10","_ref","_ref5","buttonProps","children","styles","SButton","createElement","cn","_objectSpread","_assignProps","renderButtonWithHint","_ref11","_ref2","_ref6","hintProps","_assignProps2","render","_ref12","_ref13","_this3","_this$asProps","use","_this$asProps$theme","theme","loading","_this$asProps$disable","disabled","neighborLocation","hasChildren","ariaLabel","Children","AddonLeft","addonLeft","AddonRight","addonRight","hintPlacement","useTheme","SInner","SSpin","buttonAriaLabel","state","type","tag","ref","__excludeProps","timeout","placement","undefined","Detect","_ref7","Fragment","Button","Addon","Text","props","_ref3","arguments[0]","_ref8","SText","_assignProps3","_ref4","_ref9","SAddon","_assignProps4"],"sources":["../../src/Button.jsx"],"sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport { Hint } from '@semcore/tooltip';\nimport NeighborLocation from '@semcore/neighbor-location';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport logger from '@semcore/utils/lib/logger';\nimport SpinButton from './SpinButton';\n\nimport style from './style/button.shadow.css';\nimport hasLabels from '@semcore/utils/lib/hasLabels';\n\nexport const MAP_USE_DEFAULT_THEME = {\n primary: 'info',\n secondary: 'muted',\n tertiary: 'info',\n};\n\nclass RootButton extends Component {\n static displayName = 'Button';\n static enhance = [keyboardFocusEnhance()];\n static style = style;\n static defaultProps = {\n use: 'secondary',\n size: 'm',\n };\n containerRef = React.createRef();\n\n state = {\n ariaLabelledByContent: null,\n };\n\n getTextProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n getAddonProps() {\n const { size } = this.asProps;\n return {\n size,\n };\n }\n\n componentDidMount() {\n if (process.env.NODE_ENV !== 'production') {\n logger.warn(\n this.containerRef.current && !hasLabels(this.containerRef.current) && !this.asProps.title,\n `'title' or 'aria-label' or 'aria-labelledby' are required props for buttons without text content`,\n this.asProps['data-ui-name'] || RootButton.displayName,\n );\n }\n\n if (this.asProps['aria-labelledby']) {\n setTimeout(() => {\n this.setState({\n ariaLabelledByContent:\n document.getElementById(this.asProps['aria-labelledby'])?.textContent ?? '',\n });\n }, 0);\n }\n }\n\n renderButton({ buttonProps, children }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Box} {...buttonProps}>\n {children}\n </SButton>,\n );\n }\n\n renderButtonWithHint({ buttonProps, children, hintProps }) {\n const { styles } = this.asProps;\n const SButton = Root;\n\n return sstyled(styles)(\n <SButton render={Hint} {...buttonProps} {...hintProps}>\n {children}\n </SButton>,\n );\n }\n\n render() {\n const {\n styles,\n use,\n theme = typeof use === 'string' && MAP_USE_DEFAULT_THEME[use],\n loading,\n disabled = loading,\n size,\n neighborLocation,\n children: hasChildren,\n title,\n ['aria-label']: ariaLabel,\n Children,\n addonLeft: AddonLeft,\n addonRight: AddonRight,\n hintPlacement,\n } = this.asProps;\n const useTheme = use && theme ? `${use}-${theme}` : false;\n const SInner = Box;\n const SSpin = Box;\n const buttonAriaLabel = title ?? ariaLabel ?? this.state.ariaLabelledByContent ?? '';\n\n const buttonProps = {\n type: 'button',\n tag: 'button',\n disabled,\n 'use:theme': useTheme,\n ref: this.containerRef,\n 'aria-busy': loading,\n 'aria-disabled': disabled,\n __excludeProps: ['title'],\n };\n\n const hintProps = {\n title: buttonAriaLabel,\n timeout: [250, 50],\n placement: hintPlacement,\n theme: theme === 'invert' ? 'invert' : undefined,\n __excludeProps: [],\n };\n\n return (\n <NeighborLocation.Detect neighborLocation={neighborLocation}>\n {(neighborLocation) => {\n const children = sstyled(styles)(\n <>\n <SInner tag='span' loading={loading}>\n {AddonLeft ? (\n <Button.Addon>\n <AddonLeft />\n </Button.Addon>\n ) : null}\n {addonTextChildren(Children, Button.Text, Button.Addon)}\n {AddonRight ? (\n <Button.Addon>\n <AddonRight />\n </Button.Addon>\n ) : null}\n </SInner>\n {loading && (\n <SSpin tag='span'>\n <SpinButton centered size={size} theme={useTheme} />\n </SSpin>\n )}\n </>,\n );\n buttonProps.neighborLocation = neighborLocation;\n\n if (!hasChildren || title) {\n return this.renderButtonWithHint({ buttonProps, hintProps, children });\n }\n\n return this.renderButton({ buttonProps, children });\n }}\n </NeighborLocation.Detect>\n );\n }\n}\n\nfunction Text(props) {\n const SText = Root;\n return sstyled(props.styles)(<SText render={Box} tag='span' />);\n}\n\nfunction Addon(props) {\n const SAddon = Root;\n return sstyled(props.styles)(<SAddon render={Box} tag='span' />);\n}\n\nconst Button = createComponent(RootButton, {\n Text,\n Addon,\n});\n\nexport default Button;\n"],"mappings":"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"}
|