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