mui-language-picker 2.2.1 → 2.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 CHANGED
@@ -73,6 +73,7 @@ Output should be a Language Picker when entered opens a dialog
73
73
  | setDir\* | (rtl: boolean) => void | callback to change script direction |
74
74
  | displayName\* | DisplayName | function to control display of name |
75
75
  | setInfo\* | (tag: LangTag) => void | callback to receive tag information |
76
+ | filter\* | (tag: LangTag) => boolean | allows filtering languages found by tag |
76
77
  | disabled\* | boolean | true if control disabled |
77
78
  | offline\* | boolean | true if picker in offline setting |
78
79
  | required\* | boolean | true if language required (show *) |
@@ -15,6 +15,7 @@ interface IProps extends IStateProps {
15
15
  setFont?: (font: string) => void;
16
16
  setInfo?: (tag: LangTag) => void;
17
17
  setDir?: (rtl: boolean) => void;
18
+ filter?: (code: string) => boolean;
18
19
  disabled?: boolean;
19
20
  offline?: boolean;
20
21
  required?: boolean;
@@ -68,7 +68,7 @@ var StyledDialog = (0, material_1.styled)(material_1.Dialog)(function () { retur
68
68
  }); });
69
69
  var LanguagePicker = function (props) {
70
70
  var _a;
71
- var disabled = props.disabled, offline = props.offline, required = props.required;
71
+ var disabled = props.disabled, offline = props.offline, required = props.required, filter = props.filter;
72
72
  var value = props.value, name = props.name, font = props.font, setCode = props.setCode, setName = props.setName, setFont = props.setFont, setInfo = props.setInfo, setDir = props.setDir, t = props.t;
73
73
  var displayName = props.displayName;
74
74
  var _b = react_1.default.useState(false), open = _b[0], setOpen = _b[1];
@@ -401,7 +401,8 @@ var LanguagePicker = function (props) {
401
401
  list.push.apply(list, __spreadArray(__spreadArray([], canonical_1, false), nonCanonical_1, false));
402
402
  }
403
403
  }
404
- if (list.slice(0, MAXOPTIONS).length > 0) {
404
+ if (list.filter(function (i) { return !filter || filter(i.tag); }).slice(0, MAXOPTIONS)
405
+ .length > 0) {
405
406
  return (react_1.default.createElement(react_1.default.Fragment, null,
406
407
  react_1.default.createElement(material_1.FormGroup, { row: true, sx: { justifyContent: 'flex-end' } },
407
408
  react_1.default.createElement(material_1.FormControlLabel, { sx: { flexDirection: 'row-reverse', mr: 0 }, control: react_1.default.createElement(material_1.Checkbox, { checked: secondary, onChange: function (event) { return setSecondary(event.target.checked); }, value: "secondary" }), label: t.details })),