ywana-core8 0.0.731 → 0.0.733
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/dist/index.cjs +67 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +21 -0
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +66 -1
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +67 -0
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/html/index.js +2 -1
- package/src/html/selector.js +1 -1
package/dist/index.umd.js
CHANGED
@@ -2473,6 +2473,71 @@
|
|
2473
2473
|
}));
|
2474
2474
|
};
|
2475
2475
|
|
2476
|
+
/**
|
2477
|
+
* Multi Selector
|
2478
|
+
*/
|
2479
|
+
|
2480
|
+
var MultiSelector = function MultiSelector(props) {
|
2481
|
+
var _props$options = props.options,
|
2482
|
+
options = _props$options === void 0 ? [] : _props$options,
|
2483
|
+
className = props.className;
|
2484
|
+
|
2485
|
+
var _useState = React.useState([]),
|
2486
|
+
selections = _useState[0],
|
2487
|
+
setSelections = _useState[1];
|
2488
|
+
|
2489
|
+
React.useEffect(function () {
|
2490
|
+
var initialSelections = options.filter(function (option) {
|
2491
|
+
return option.selected === true;
|
2492
|
+
}).map(function (option) {
|
2493
|
+
return option.value;
|
2494
|
+
});
|
2495
|
+
setSelections(initialSelections);
|
2496
|
+
}, []);
|
2497
|
+
|
2498
|
+
function toggleSelection(value) {
|
2499
|
+
var onChange = props.onChange;
|
2500
|
+
var next = selections.includes(value) ? selections.filter(function (item) {
|
2501
|
+
return item != value;
|
2502
|
+
}) : selections.concat([value]);
|
2503
|
+
setSelections(next);
|
2504
|
+
if (onChange) onChange(next);
|
2505
|
+
}
|
2506
|
+
|
2507
|
+
var items = options.map(function (option) {
|
2508
|
+
return _extends({}, option, {
|
2509
|
+
selected: selections.includes(option.value),
|
2510
|
+
onToggle: toggleSelection
|
2511
|
+
});
|
2512
|
+
});
|
2513
|
+
return /*#__PURE__*/React__default["default"].createElement("ul", {
|
2514
|
+
className: "multiselector " + className
|
2515
|
+
}, items.map(function (option) {
|
2516
|
+
return /*#__PURE__*/React__default["default"].createElement(ToggleButton, option);
|
2517
|
+
}));
|
2518
|
+
};
|
2519
|
+
/**
|
2520
|
+
* Toggle Button
|
2521
|
+
*/
|
2522
|
+
|
2523
|
+
var ToggleButton = function ToggleButton(props) {
|
2524
|
+
var label = props.label,
|
2525
|
+
value = props.value,
|
2526
|
+
_props$selected = props.selected,
|
2527
|
+
selected = _props$selected === void 0 ? false : _props$selected,
|
2528
|
+
onToggle = props.onToggle;
|
2529
|
+
|
2530
|
+
function toggle() {
|
2531
|
+
if (onToggle) onToggle(value);
|
2532
|
+
}
|
2533
|
+
|
2534
|
+
var selectedStyle = selected ? 'selected' : '';
|
2535
|
+
return /*#__PURE__*/React__default["default"].createElement("li", {
|
2536
|
+
className: selectedStyle + " " + value,
|
2537
|
+
onClick: toggle
|
2538
|
+
}, label);
|
2539
|
+
};
|
2540
|
+
|
2476
2541
|
/**
|
2477
2542
|
* Login Box
|
2478
2543
|
*/
|
@@ -10892,6 +10957,7 @@
|
|
10892
10957
|
exports.MenuIcon = MenuIcon;
|
10893
10958
|
exports.MenuItem = MenuItem;
|
10894
10959
|
exports.MenuSeparator = MenuSeparator;
|
10960
|
+
exports.MultiSelector = MultiSelector;
|
10895
10961
|
exports.Page = Page;
|
10896
10962
|
exports.PageContext = PageContext;
|
10897
10963
|
exports.PageProvider = PageProvider;
|
@@ -10924,6 +10990,7 @@
|
|
10924
10990
|
exports.TextArea = TextArea;
|
10925
10991
|
exports.TextField = TextField;
|
10926
10992
|
exports.Thumbnail = Thumbnail;
|
10993
|
+
exports.ToggleButton = ToggleButton;
|
10927
10994
|
exports.TokenField = TokenField;
|
10928
10995
|
exports.Tooltip = Tooltip;
|
10929
10996
|
exports.Tree = Tree;
|