mui-language-picker 1.1.15 → 1.2.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2020 SIL LSDev
3
+ Copyright (c) 2020-2022 SIL LSDev
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -4,7 +4,7 @@ Material UI react language picker
4
4
 
5
5
  ## Installation
6
6
 
7
- Complete installation for [material-ui](https://material-ui.com/getting-started/installation/).
7
+ Complete information for [material-ui](https://mui.com/material-ui/).
8
8
 
9
9
  ```sh
10
10
  npm install mui-language-picker --save
@@ -12,19 +12,21 @@ npm install mui-language-picker --save
12
12
 
13
13
  ## Usage
14
14
 
15
- ### TypeScript React 16 code
15
+ ### TypeScript React 18 code
16
16
 
17
17
  ```typescript
18
18
  import {
19
19
  LanguagePicker,
20
20
  ILanguagePickerStrings,
21
21
  languagePickerStrings_en,
22
+ LangTag,
22
23
  } from "mui-language-picker";
23
24
 
24
25
  const MyComponent = (props: any) => {
25
26
  const [bcp47, setBcp47] = React.useState("und");
26
27
  const [lgName, setLgName] = React.useState("");
27
28
  const [fontName, setFontName] = React.useState("");
29
+ const [tag, setTag] = React.useState<LangTag>()
28
30
 
29
31
  return (
30
32
  <LanguagePicker
@@ -34,6 +36,7 @@ const MyComponent = (props: any) => {
34
36
  setName={setLgName}
35
37
  font={fontName}
36
38
  setFont={setFontName}
39
+ setInfo={setTag}
37
40
  t={languagePickerStrings_en}
38
41
  />
39
42
  );
@@ -54,6 +57,7 @@ Output should be a Language Picker when entered opens a dialog
54
57
  | setName\* | (name: string) => void | callback to change language name |
55
58
  | font | string | font family name |
56
59
  | setFont\* | (font: string) => void | callback to change font family name |
60
+ | setInfo\* | (tag: LangTag) => void | callback to receive tag information |
57
61
  | disabled\* | boolean | true if control disabled |
58
62
  | t | ILanguagePickerStrings | localization strings (see below) |
59
63
 
@@ -63,24 +67,29 @@ Output should be a Language Picker when entered opens a dialog
63
67
 
64
68
  ```typescript
65
69
  export const languagePickerStrings_en = {
66
- font: "Font",
67
- script: "Script",
68
- language: "Language",
69
- selectLanguage: "Choose Language Details",
70
- findALanguage: "Find a language by name, code, or country",
71
- codeExplained: "Code Explained",
72
- subtags: "Subtags",
73
- details: "Details",
74
- languageOf: "A Language of $1$2.",
75
- inScript: " in the $1 script",
76
- select: "Save",
77
- cancel: "Cancel",
78
- phonetic: "Phonetic",
70
+ font: 'Font',
71
+ script: 'Script',
72
+ language: 'Language',
73
+ selectLanguage: 'Choose Language Details',
74
+ findALanguage: 'Find a language by name, code, or country',
75
+ codeExplained: 'Code Explained',
76
+ subtags: 'Subtags',
77
+ details: 'Details',
78
+ languageOf: 'A Language of $1$2.',
79
+ inScript: ' in the $1 script',
80
+ select: 'Save',
81
+ cancel: 'Cancel',
82
+ phonetic: 'Phonetic',
83
+ changeName: 'Change Name',
84
+ nameInstruction:
85
+ 'If you would like to change the language name enter the new name here.',
86
+ newName: 'New Language Name',
87
+ change: 'Change',
79
88
  } as ILanguagePickerStrings;
80
89
  ```
81
90
 
82
91
  ### Change control background
83
- If the theme involves using a dark background, the control background can be changed with css. See also [material-ui](https://material-ui.com/) documentation.
92
+ If the theme involves using a dark background, the control background can be changed with css. See also [material-ui](https://mui.com/) documentation.
84
93
  ```css
85
94
  #LangBcp47 .MuiFilledInput-root {
86
95
  background-color: rgba(255, 255, 255, 0.9);
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { ILanguagePickerStrings } from './model';
3
+ interface IProps {
4
+ isOpen: boolean;
5
+ onClose?: () => void;
6
+ curName?: string;
7
+ onNewName?: (name: string) => void;
8
+ t?: ILanguagePickerStrings;
9
+ }
10
+ export default function ChangeName({ isOpen, onClose, curName, onNewName, t, }: IProps): JSX.Element;
11
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ var React = __importStar(require("react"));
30
+ var Button_1 = __importDefault(require("@mui/material/Button"));
31
+ var TextField_1 = __importDefault(require("@mui/material/TextField"));
32
+ var Dialog_1 = __importDefault(require("@mui/material/Dialog"));
33
+ var DialogActions_1 = __importDefault(require("@mui/material/DialogActions"));
34
+ var DialogContent_1 = __importDefault(require("@mui/material/DialogContent"));
35
+ var DialogContentText_1 = __importDefault(require("@mui/material/DialogContentText"));
36
+ var DialogTitle_1 = __importDefault(require("@mui/material/DialogTitle"));
37
+ function ChangeName(_a) {
38
+ var isOpen = _a.isOpen, onClose = _a.onClose, curName = _a.curName, onNewName = _a.onNewName, t = _a.t;
39
+ var _b = React.useState(isOpen), open = _b[0], setOpen = _b[1];
40
+ var _c = React.useState(curName || ''), name = _c[0], setName = _c[1];
41
+ var handleClose = function () {
42
+ onNewName && onNewName(name);
43
+ onClose && onClose();
44
+ setOpen(false);
45
+ };
46
+ var handleNameChange = function (event) {
47
+ setName(event.target.value);
48
+ };
49
+ React.useEffect(function () {
50
+ setOpen(isOpen);
51
+ }, [isOpen]);
52
+ return (React.createElement(Dialog_1.default, { open: open, onClose: handleClose },
53
+ React.createElement(DialogTitle_1.default, null, (t === null || t === void 0 ? void 0 : t.changeName) || 'Change Name'),
54
+ React.createElement(DialogContent_1.default, null,
55
+ React.createElement(DialogContentText_1.default, null, (t === null || t === void 0 ? void 0 : t.nameInstruction) ||
56
+ 'If you would like to change the language name enter the new name here.'),
57
+ React.createElement(TextField_1.default, { autoFocus: true, margin: "dense", id: "name", label: (t === null || t === void 0 ? void 0 : t.newName) || 'New Language Name', fullWidth: true, value: name, onChange: handleNameChange })),
58
+ React.createElement(DialogActions_1.default, null,
59
+ React.createElement(Button_1.default, { onClick: handleClose }, t === null || t === void 0 ? void 0 : t.cancel),
60
+ React.createElement(Button_1.default, { onClick: handleClose }, (t === null || t === void 0 ? void 0 : t.change) || 'Change'))));
61
+ }
62
+ exports.default = ChangeName;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export declare const GrowingSpacer: () => JSX.Element;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.GrowingSpacer = void 0;
7
+ var react_1 = __importDefault(require("react"));
8
+ var material_1 = require("@mui/material");
9
+ var GrowingSpacer = function () { return react_1.default.createElement(material_1.Box, { sx: { flexGrow: 1 } }, '\u00A0'); };
10
+ exports.GrowingSpacer = GrowingSpacer;
@@ -1,41 +1,37 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  exports.LanguageChoice = void 0;
7
- var react_1 = __importDefault(require("react"));
8
- var styles_1 = require("@material-ui/core/styles");
9
- var core_1 = require("@material-ui/core");
27
+ var react_1 = __importStar(require("react"));
28
+ var material_1 = require("@mui/material");
10
29
  var lodash_1 = require("lodash");
11
- var useStyles = styles_1.makeStyles(function (theme) {
12
- return styles_1.createStyles({
13
- root: {
14
- flexGrow: 1,
15
- maxWidth: 752,
16
- },
17
- paper: {
18
- backgroundColor: theme.palette.background.paper,
19
- },
20
- list: {
21
- overflowY: 'scroll',
22
- },
23
- title: {
24
- margin: theme.spacing(4, 0, 2),
25
- },
26
- firstLine: {
27
- display: 'flex',
28
- },
29
- grow: {
30
- flexGrow: 1,
31
- },
32
- });
33
- });
30
+ var GrowingSpacer_1 = require("./GrowingSpacer");
34
31
  function LanguageChoice(props) {
35
32
  var list = props.list, langTags = props.langTags, scriptName = props.scriptName, secondary = props.secondary, t = props.t, choose = props.choose;
36
- var classes = useStyles();
37
- var dense = react_1.default.useState(true)[0];
38
- var _a = react_1.default.useState(window.innerHeight), height = _a[0], setHeight = _a[1];
33
+ var dense = (0, react_1.useState)(true)[0];
34
+ var _a = (0, react_1.useState)(window.innerHeight), height = _a[0], setHeight = _a[1];
39
35
  var handleChoose = function (tag) { return function () {
40
36
  choose(tag);
41
37
  }; };
@@ -44,8 +40,8 @@ function LanguageChoice(props) {
44
40
  choose(tag);
45
41
  }
46
42
  }; };
47
- react_1.default.useEffect(function () {
48
- var handleResize = lodash_1.debounce(function () { return setHeight(window.innerHeight); }, 100);
43
+ (0, react_1.useEffect)(function () {
44
+ var handleResize = (0, lodash_1.debounce)(function () { return setHeight(window.innerHeight); }, 100);
49
45
  window.addEventListener('resize', handleResize);
50
46
  return function () {
51
47
  window.removeEventListener('resize', handleResize);
@@ -59,25 +55,25 @@ function LanguageChoice(props) {
59
55
  };
60
56
  var detail = function (tag) {
61
57
  return (react_1.default.createElement(react_1.default.Fragment, null,
62
- react_1.default.createElement(core_1.Typography, { component: 'span' }, t.languageOf
58
+ react_1.default.createElement(material_1.Typography, { component: 'span' }, t.languageOf
63
59
  .replace('$1', tag.regionname ? tag.regionname : '')
64
60
  .replace('$2', scriptDetail(tag))),
65
61
  react_1.default.createElement("br", null),
66
- react_1.default.createElement(core_1.Typography, { component: 'span' }, tag.names ? tag.names.join(', ') : '')));
62
+ react_1.default.createElement(material_1.Typography, { component: 'span' }, tag.names ? tag.names.join(', ') : '')));
67
63
  };
68
64
  var langElems = function (refList, refTags) {
69
65
  return refList.map(function (r, i) {
70
66
  var tag = refTags[r];
71
- return (react_1.default.createElement(core_1.ListItem, { key: tag.tag + " " + i, button: true, onClick: handleChoose(tag), onKeyDown: handleKeydown(tag) },
72
- react_1.default.createElement(core_1.ListItemText, { primary: react_1.default.createElement("div", { className: classes.firstLine },
73
- react_1.default.createElement(core_1.Typography, null, tag.name),
74
- react_1.default.createElement("div", { className: classes.grow }, '\u00A0'),
75
- react_1.default.createElement(core_1.Typography, null, tag.tag)), secondary: secondary ? detail(tag) : null })));
67
+ return (react_1.default.createElement(material_1.ListItem, { key: "".concat(tag.tag, " ").concat(i), button: true, onClick: handleChoose(tag), onKeyDown: handleKeydown(tag) },
68
+ react_1.default.createElement(material_1.ListItemText, { primary: react_1.default.createElement(material_1.Box, { sx: { display: 'flex' } },
69
+ react_1.default.createElement(material_1.Typography, null, tag.localname ? "".concat(tag.localname, " / ").concat(tag.name) : tag.name),
70
+ react_1.default.createElement(GrowingSpacer_1.GrowingSpacer, null),
71
+ react_1.default.createElement(material_1.Typography, null, tag.tag)), secondary: secondary ? detail(tag) : null })));
76
72
  });
77
73
  };
78
- return (react_1.default.createElement("div", { className: classes.root },
79
- react_1.default.createElement("div", { className: classes.paper },
80
- react_1.default.createElement(core_1.List, { dense: dense, className: classes.list, style: { maxHeight: Math.max(height - 450, 200) } }, langElems(list, langTags)))));
74
+ return (react_1.default.createElement(material_1.Box, { sx: { flexGrow: 1, maxWidth: 752 } },
75
+ react_1.default.createElement(material_1.Box, { sx: { backgroundColor: 'background.paper' } },
76
+ react_1.default.createElement(material_1.List, { dense: dense, sx: { overflowY: 'scroll' }, style: { maxHeight: Math.max(height - 450, 200) } }, langElems(list, langTags)))));
81
77
  }
82
78
  exports.LanguageChoice = LanguageChoice;
83
79
  exports.default = LanguageChoice;
@@ -1,5 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import { ILanguagePickerStrings } from './model';
3
+ import { LangTag } from './langPicker/types';
3
4
  interface IStateProps {
4
5
  t: ILanguagePickerStrings;
5
6
  }
@@ -10,6 +11,7 @@ interface IProps extends IStateProps {
10
11
  setCode?: (code: string) => void;
11
12
  setName?: (name: string) => void;
12
13
  setFont?: (font: string) => void;
14
+ setInfo?: (tag: LangTag) => void;
13
15
  disabled?: boolean;
14
16
  }
15
17
  export declare const LanguagePicker: (props: IProps) => JSX.Element;
@@ -16,12 +16,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.LanguagePicker = void 0;
18
18
  var react_1 = __importDefault(require("react"));
19
- var styles_1 = require("@material-ui/core/styles");
20
- var core_1 = require("@material-ui/core");
21
- var Clear_1 = __importDefault(require("@material-ui/icons/Clear"));
19
+ var material_1 = require("@mui/material");
20
+ var Clear_1 = __importDefault(require("@mui/icons-material/Clear"));
21
+ var BorderColor_1 = __importDefault(require("@mui/icons-material/BorderColor"));
22
22
  var util_1 = require("./util");
23
23
  var LanguageChoice_1 = __importDefault(require("./LanguageChoice"));
24
- var clsx_1 = __importDefault(require("clsx"));
25
24
  var LgExact_1 = require("./index/LgExact");
26
25
  var LgScripts_1 = require("./index/LgScripts");
27
26
  var LgScriptName_1 = require("./index/LgScriptName");
@@ -29,51 +28,20 @@ var LgFontMap_1 = require("./index/LgFontMap");
29
28
  var bcp47_1 = require("./bcp47");
30
29
  var langTags_1 = require("./langTags");
31
30
  var useDebounce_1 = __importDefault(require("./useDebounce"));
31
+ var GrowingSpacer_1 = require("./GrowingSpacer");
32
+ var ChangeName_1 = __importDefault(require("./ChangeName"));
32
33
  var MAXOPTIONS = 50;
33
- var useStyles = styles_1.makeStyles(function (theme) {
34
- return styles_1.createStyles({
35
- root: {
36
- '& .MuiDialog-paperScrollPaper': {
37
- marginBottom: 'auto',
38
- width: '90%',
39
- },
40
- },
41
- check: {
42
- justifyContent: 'flex-end',
43
- },
44
- label: {
45
- flexDirection: 'row-reverse',
46
- },
47
- label2: {
48
- flexDirection: 'row-reverse',
49
- marginRight: 0,
50
- },
51
- textField: {
52
- width: 150,
53
- marginLeft: theme.spacing(1),
54
- marginRight: theme.spacing(1),
55
- },
56
- fontField: {
57
- width: 300,
58
- marginLeft: theme.spacing(1),
59
- marginRight: theme.spacing(1),
60
- },
61
- menu: {
62
- width: 200,
63
- },
64
- hide: {
65
- display: 'none',
66
- },
67
- grow: {
68
- flexGrow: 1,
69
- },
70
- });
71
- });
72
- exports.LanguagePicker = function (props) {
34
+ var menuWidth = { width: 200 };
35
+ var StyledDialog = (0, material_1.styled)(material_1.Dialog)(function () { return ({
36
+ '& .MuiDialog-paperScrollPaper': {
37
+ marginBottom: 'auto',
38
+ width: '90%',
39
+ },
40
+ }); });
41
+ var LanguagePicker = function (props) {
73
42
  var _a;
74
43
  var disabled = props.disabled;
75
- var value = props.value, name = props.name, font = props.font, setCode = props.setCode, setName = props.setName, setFont = props.setFont, t = props.t;
76
- var classes = useStyles();
44
+ var value = props.value, name = props.name, font = props.font, setCode = props.setCode, setName = props.setName, setFont = props.setFont, setInfo = props.setInfo, t = props.t;
77
45
  var _b = react_1.default.useState(false), open = _b[0], setOpen = _b[1];
78
46
  var _c = react_1.default.useState(value), curValue = _c[0], setCurValue = _c[1];
79
47
  var _d = react_1.default.useState(name), curName = _d[0], setCurName = _d[1];
@@ -84,8 +52,9 @@ exports.LanguagePicker = function (props) {
84
52
  var _j = react_1.default.useState(''), defaultScript = _j[0], setDefaultScript = _j[1];
85
53
  var _k = react_1.default.useState(''), defaultFont = _k[0], setDefaultFont = _k[1];
86
54
  var _l = react_1.default.useState(Array()), fontOpts = _l[0], setFontOpts = _l[1];
55
+ var _m = react_1.default.useState(false), newName = _m[0], setNewName = _m[1];
87
56
  var langEl = react_1.default.useRef();
88
- var debouncedResponse = useDebounce_1.default(response, 500);
57
+ var debouncedResponse = (0, useDebounce_1.default)(response, 500);
89
58
  var TAB = 9;
90
59
  var SHIFT = 16;
91
60
  var CTRL = 17;
@@ -97,10 +66,13 @@ exports.LanguagePicker = function (props) {
97
66
  return;
98
67
  if (e.keyCode && [TAB, SHIFT, CTRL].indexOf(e.keyCode) !== -1)
99
68
  return;
100
- var found = bcp47_1.bcp47Find(curValue);
69
+ var found = (0, bcp47_1.bcp47Find)(curValue);
101
70
  if (curValue !== 'und') {
102
71
  if (found && !Array.isArray(found)) {
103
- setResponse(curName + ' (' + curValue + ')');
72
+ var tagName = curName;
73
+ if (found.localname)
74
+ tagName = "".concat(found.localname, " / ").concat(curName);
75
+ setResponse(tagName + ' (' + curValue + ')');
104
76
  setTag(found);
105
77
  selectFont(found);
106
78
  setDefaultScript(found.script);
@@ -108,9 +80,9 @@ exports.LanguagePicker = function (props) {
108
80
  }
109
81
  else {
110
82
  var key = curValue.toLocaleLowerCase();
111
- if (LgExact_1.hasExact(key)) {
83
+ if ((0, LgExact_1.hasExact)(key)) {
112
84
  setResponse(curName + ' (' + curValue + ')');
113
- var langTag = langTags_1.langTags[LgExact_1.getExact(key)[0]];
85
+ var langTag = langTags_1.langTags[(0, LgExact_1.getExact)(key)[0]];
114
86
  setTag(langTag);
115
87
  selectFont(langTag);
116
88
  setDefaultScript(langTag.script);
@@ -142,7 +114,10 @@ exports.LanguagePicker = function (props) {
142
114
  };
143
115
  var displayTag = function (tagP, val) {
144
116
  if (tagP && tagP.name) {
145
- setResponse(tagP.name + ' (' + tagP.tag + ')');
117
+ var tagName = tagP.name;
118
+ if (tagP.localname)
119
+ tagName = "".concat(tagP.localname, " / ").concat(tagP.name);
120
+ setResponse(tagName + ' (' + tagP.tag + ')');
146
121
  setCurValue(val ? val : tagP.tag);
147
122
  setCurName(tagP.name);
148
123
  }
@@ -154,6 +129,8 @@ exports.LanguagePicker = function (props) {
154
129
  setName(curName);
155
130
  if (setFont)
156
131
  setFont(curFont);
132
+ if (setInfo && tag)
133
+ setInfo(tag);
157
134
  if (tag) {
158
135
  displayTag(tag, curValue);
159
136
  }
@@ -184,7 +161,7 @@ exports.LanguagePicker = function (props) {
184
161
  var selectFont = function (tagP) {
185
162
  if (!tagP || tagP.tag === 'und')
186
163
  return;
187
- var parse = bcp47_1.bcp47Parse(tagP.tag);
164
+ var parse = (0, bcp47_1.bcp47Parse)(tagP.tag);
188
165
  var script = parse.script ? parse.script : tagP.script;
189
166
  var region = parse.region ? parse.region : tagP.region;
190
167
  var code = script;
@@ -202,6 +179,19 @@ exports.LanguagePicker = function (props) {
202
179
  else
203
180
  selectDefaultFont(code);
204
181
  };
182
+ var handleNewName = function () {
183
+ setNewName(true);
184
+ };
185
+ var handleCloseName = function () {
186
+ setNewName(false);
187
+ };
188
+ var handleSetName = function (name) {
189
+ setCurName(name);
190
+ var tagName = name;
191
+ if (tag === null || tag === void 0 ? void 0 : tag.localname)
192
+ tagName = "".concat(tag.localname, " / ").concat(name);
193
+ setResponse(tagName);
194
+ };
205
195
  react_1.default.useEffect(function () {
206
196
  if (response === '')
207
197
  handleClear();
@@ -215,7 +205,7 @@ exports.LanguagePicker = function (props) {
215
205
  var handleScriptChange = function (tagP) { return function (e) {
216
206
  var val = e.target.value;
217
207
  setDefaultScript(val);
218
- var parse = bcp47_1.bcp47Parse(curValue);
208
+ var parse = (0, bcp47_1.bcp47Parse)(curValue);
219
209
  var script = parse.script ? parse.script : tagP === null || tagP === void 0 ? void 0 : tagP.script;
220
210
  if (script !== val) {
221
211
  var newTag = parse.language || 'und';
@@ -223,13 +213,13 @@ exports.LanguagePicker = function (props) {
223
213
  newTag += '-' + val;
224
214
  if (parse.region)
225
215
  newTag += '-' + parse.region;
226
- var found = bcp47_1.bcp47Find(newTag);
216
+ var found = (0, bcp47_1.bcp47Find)(newTag);
227
217
  if (found) {
228
218
  var firstFind = Array.isArray(found) ? found[0] : found;
229
219
  setTag(firstFind);
230
220
  var myTag_1 = firstFind.tag;
231
221
  if (val === IpaTag)
232
- myTag_1 += "-" + IpaTag;
222
+ myTag_1 += "-".concat(IpaTag);
233
223
  else if (parse.variant && parse.variant !== IpaTag)
234
224
  myTag_1 += '-' + parse.variant;
235
225
  if (parse.extension)
@@ -246,14 +236,14 @@ exports.LanguagePicker = function (props) {
246
236
  }
247
237
  }; };
248
238
  var selectScript = function (tagP) {
249
- var tagParts = bcp47_1.bcp47Parse(tagP.tag);
239
+ var tagParts = (0, bcp47_1.bcp47Parse)(tagP.tag);
250
240
  selectFont(tagP);
251
241
  setDefaultScript(tagParts.script ? tagParts.script : tagP.script);
252
242
  };
253
243
  var scriptList = function (tagP) {
254
244
  if (!tagP)
255
245
  return [];
256
- return LgScripts_1.getScripts(tagP.tag.split('-')[0]).concat(IpaTag);
246
+ return (0, LgScripts_1.getScripts)(tagP.tag.split('-')[0]).concat(IpaTag);
257
247
  };
258
248
  var handleLanguageClick = function () {
259
249
  if (tag)
@@ -262,7 +252,7 @@ exports.LanguagePicker = function (props) {
262
252
  };
263
253
  var handleChoose = function (tagP) {
264
254
  var newTag = tagP;
265
- var found = bcp47_1.bcp47Find(response);
255
+ var found = (0, bcp47_1.bcp47Find)(response);
266
256
  var maxMatch = '';
267
257
  var tagList = [tagP.full, tagP.tag];
268
258
  if (tagP.iso639_3) {
@@ -273,7 +263,7 @@ exports.LanguagePicker = function (props) {
273
263
  tagList.push(tagP.iso639_3 + '-' + tagP.script + '-' + tagP.region);
274
264
  }
275
265
  }
276
- var parse = bcp47_1.bcp47Parse(response);
266
+ var parse = (0, bcp47_1.bcp47Parse)(response);
277
267
  if (parse.extlang && parse.language) {
278
268
  tagList.push(parse.language);
279
269
  tagList.push(parse.language + '-' + tagP.script);
@@ -298,7 +288,7 @@ exports.LanguagePicker = function (props) {
298
288
  if (maxMatch !== '') {
299
289
  var newCode = tagP.tag;
300
290
  if (parse.variant && tagP.tag.indexOf(tagP.script) > 0) {
301
- newCode = tagP.tag.replace("-" + tagP.script, '');
291
+ newCode = tagP.tag.replace("-".concat(tagP.script), '');
302
292
  }
303
293
  newTag = __assign(__assign({}, tagP), { tag: newCode + response.slice(maxMatch.length) });
304
294
  displayTag(newTag);
@@ -326,14 +316,14 @@ exports.LanguagePicker = function (props) {
326
316
  var list_1 = Array();
327
317
  debouncedResponse.split(' ').forEach(function (w) {
328
318
  if (w.length > 1) {
329
- var wLangTags = bcp47_1.bcp47Index(w);
319
+ var wLangTags = (0, bcp47_1.bcp47Index)(w);
330
320
  if (wLangTags) {
331
321
  list_1 = mergeList(list_1, wLangTags);
332
322
  }
333
323
  else {
334
- var token = util_1.woBadChar(w).toLocaleLowerCase();
335
- if (LgExact_1.hasExact(token)) {
336
- list_1 = mergeList(list_1, LgExact_1.getExact(token));
324
+ var token = (0, util_1.woBadChar)(w).toLocaleLowerCase();
325
+ if ((0, LgExact_1.hasExact)(token)) {
326
+ list_1 = mergeList(list_1, (0, LgExact_1.getExact)(token));
337
327
  }
338
328
  }
339
329
  }
@@ -342,18 +332,18 @@ exports.LanguagePicker = function (props) {
342
332
  if (w.length > 1) {
343
333
  var lastDash = w.lastIndexOf('-');
344
334
  if (lastDash !== -1) {
345
- var wLangTags = bcp47_1.bcp47Index(w.slice(0, lastDash));
335
+ var wLangTags = (0, bcp47_1.bcp47Index)(w.slice(0, lastDash));
346
336
  if (wLangTags)
347
337
  list_1 = mergeList(list_1, wLangTags);
348
338
  }
349
339
  else {
350
- var token_1 = util_1.woBadChar(w).toLocaleLowerCase();
351
- if (LgExact_1.hasPart(token_1)) {
340
+ var token_1 = (0, util_1.woBadChar)(w).toLocaleLowerCase();
341
+ if ((0, LgExact_1.hasPart)(token_1)) {
352
342
  var tokLen_1 = token_1.length;
353
- Object.keys(LgExact_1.getPart(token_1)).forEach(function (k) {
343
+ Object.keys((0, LgExact_1.getPart)(token_1)).forEach(function (k) {
354
344
  if (list_1.length < MAXOPTIONS) {
355
345
  if (token_1 === k.slice(0, tokLen_1))
356
- list_1 = mergeList(list_1, LgExact_1.getExact(k));
346
+ list_1 = mergeList(list_1, (0, LgExact_1.getExact)(k));
357
347
  }
358
348
  });
359
349
  }
@@ -362,48 +352,49 @@ exports.LanguagePicker = function (props) {
362
352
  });
363
353
  if (list_1.length > 0) {
364
354
  return (react_1.default.createElement(react_1.default.Fragment, null,
365
- react_1.default.createElement(core_1.FormGroup, { row: true, className: classes.check },
366
- react_1.default.createElement(core_1.FormControlLabel, { className: classes.label2, control: react_1.default.createElement(core_1.Checkbox, { checked: secondary, onChange: function (event) { return setSecondary(event.target.checked); }, value: "secondary" }), label: t.details })),
355
+ react_1.default.createElement(material_1.FormGroup, { row: true, sx: { justifyContent: 'flex-end' } },
356
+ 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 })),
367
357
  react_1.default.createElement(LanguageChoice_1.default, { list: list_1, secondary: secondary, choose: handleChoose, langTags: langTags_1.langTags, scriptName: LgScriptName_1.scriptName, t: t })));
368
358
  }
369
359
  }
370
360
  return react_1.default.createElement(react_1.default.Fragment, null);
371
361
  };
372
362
  return (react_1.default.createElement("div", { id: "LangBcp47" },
373
- react_1.default.createElement(core_1.TextField, { variant: "filled", margin: "dense", id: "lang-bcp47", label: t.language, required: true, style: { width: 300 }, value: value !== 'und' ? name + ' (' + value + ')' : '', onClick: handleClickOpen, onKeyDown: handleClickOpen, disabled: disabled ? disabled : false }),
374
- react_1.default.createElement(core_1.Dialog, { id: "LanguagePicker", open: open, onClose: handleCancel, "aria-labelledby": "form-dialog-title", className: classes.root },
375
- react_1.default.createElement(core_1.DialogTitle, { id: "form-dialog-title" }, t.selectLanguage),
376
- react_1.default.createElement(core_1.DialogContent, { dividers: true },
377
- react_1.default.createElement(core_1.TextField, { autoFocus: true, margin: "normal", id: "language", label: t.findALanguage, fullWidth: true, value: response, onChange: handleChange, onClick: handleLanguageClick, variant: "outlined", InputProps: {
363
+ react_1.default.createElement(material_1.TextField, { variant: "filled", margin: "dense", id: "lang-bcp47", label: t.language, required: true, style: { width: 300 }, value: value !== 'und' ? name + ' (' + value + ')' : '', onClick: handleClickOpen, onKeyDown: handleClickOpen, disabled: disabled ? disabled : false }),
364
+ react_1.default.createElement(StyledDialog, { id: "LanguagePicker", open: open, onClose: handleCancel, "aria-labelledby": "form-dialog-title" },
365
+ react_1.default.createElement(material_1.DialogTitle, { id: "form-dialog-title" }, t.selectLanguage),
366
+ react_1.default.createElement(material_1.DialogContent, { dividers: true },
367
+ react_1.default.createElement(material_1.TextField, { autoFocus: true, margin: "normal", id: "language", label: t.findALanguage, fullWidth: true, value: response, onChange: handleChange, onClick: handleLanguageClick, variant: "outlined", InputProps: {
378
368
  ref: langEl,
379
- endAdornment: (react_1.default.createElement(core_1.InputAdornment, { position: "end", className: clsx_1.default((_a = {}, _a[classes.hide] = response === '', _a)) },
380
- react_1.default.createElement(core_1.IconButton, { edge: "end", "aria-label": "clear language", onClick: handleClear },
381
- react_1.default.createElement(Clear_1.default, null)))),
369
+ endAdornment: (react_1.default.createElement(material_1.InputAdornment, { position: "end" },
370
+ react_1.default.createElement(material_1.IconButton, { edge: "end", "aria-label": "clear language", onClick: handleClear },
371
+ react_1.default.createElement(Clear_1.default, { color: "primary" })))),
382
372
  } }),
383
373
  optList(),
384
- react_1.default.createElement(core_1.FormControlLabel, { control: react_1.default.createElement(core_1.TextField, { id: "select-script", select: true, className: classes.textField, label: t.script, value: defaultScript, onChange: handleScriptChange(tag), style: { width: 400 }, SelectProps: {
385
- MenuProps: {
386
- className: classes.menu,
387
- },
374
+ react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.TextField, { id: "select-script", select: true, sx: { width: 150, mx: 1 }, label: t.script, value: defaultScript, onChange: handleScriptChange(tag), style: { width: 400 }, SelectProps: {
375
+ MenuProps: __assign({ sx: menuWidth }),
388
376
  }, helperText: '', margin: "normal", variant: "filled", required: true }, scriptList(tag)
389
- .map(function (s) { return (react_1.default.createElement(core_1.MenuItem, { key: s, value: s }, LgScriptName_1.scriptName[s] + ' - ' + s)); })
377
+ .map(function (s) { return (react_1.default.createElement(material_1.MenuItem, { key: s, value: s }, LgScriptName_1.scriptName[s] + ' - ' + s)); })
390
378
  .concat(scriptList(tag).includes(defaultScript)
391
379
  ? []
392
380
  : [
393
- react_1.default.createElement(core_1.MenuItem, { key: defaultScript, value: defaultScript }, defaultScript),
381
+ react_1.default.createElement(material_1.MenuItem, { key: defaultScript, value: defaultScript }, defaultScript),
394
382
  ])), label: "" }),
395
- react_1.default.createElement(core_1.FormControlLabel, { control: react_1.default.createElement(core_1.TextField, { id: "select-font", select: true, className: classes.fontField, label: t.font, value: defaultFont, onChange: addFontInfo, SelectProps: {
396
- MenuProps: {
397
- className: classes.menu,
398
- },
399
- }, helperText: '', margin: "normal", variant: "filled", required: true }, fontOpts.map(function (s) { return (react_1.default.createElement(core_1.MenuItem, { key: s, value: s }, s)); })), label: "" })),
400
- react_1.default.createElement(core_1.DialogActions, null,
383
+ react_1.default.createElement(material_1.FormControlLabel, { control: react_1.default.createElement(material_1.TextField, { id: "select-font", select: true, sx: { width: 300, mx: 1 }, label: t.font, value: defaultFont, onChange: addFontInfo, SelectProps: {
384
+ MenuProps: __assign({ sx: menuWidth }),
385
+ }, helperText: '', margin: "normal", variant: "filled", required: true }, fontOpts.map(function (s) { return (react_1.default.createElement(material_1.MenuItem, { key: s, value: s }, s)); })), label: "" })),
386
+ react_1.default.createElement(material_1.DialogActions, null,
401
387
  react_1.default.createElement("a", { href: "https://www.w3.org/International/questions/qa-choosing-language-tags", target: "_blank", rel: "noopener noreferrer" },
402
- react_1.default.createElement(core_1.Typography, null, t.codeExplained)),
403
- react_1.default.createElement("div", { className: classes.grow }, '\u00A0'),
404
- react_1.default.createElement(core_1.Button, { onClick: handleCancel, color: "primary" },
405
- react_1.default.createElement(core_1.Typography, null, t.cancel)),
406
- react_1.default.createElement(core_1.Button, { onClick: handleSelect, color: "primary", disabled: tag === undefined },
407
- react_1.default.createElement(core_1.Typography, null, t.select))))));
388
+ react_1.default.createElement(material_1.Typography, null, t.codeExplained)),
389
+ curName !== '' && (react_1.default.createElement(material_1.Tooltip, { title: (_a = t.changeName) !== null && _a !== void 0 ? _a : 'Change name' },
390
+ react_1.default.createElement(material_1.IconButton, { color: "primary", size: "small", onClick: handleNewName },
391
+ react_1.default.createElement(BorderColor_1.default, { fontSize: "small" })))),
392
+ react_1.default.createElement(GrowingSpacer_1.GrowingSpacer, null),
393
+ react_1.default.createElement(material_1.Button, { onClick: handleCancel, color: "primary" },
394
+ react_1.default.createElement(material_1.Typography, null, t.cancel)),
395
+ react_1.default.createElement(material_1.Button, { onClick: handleSelect, color: "primary", disabled: tag === undefined },
396
+ react_1.default.createElement(material_1.Typography, null, t.select)))),
397
+ newName && (react_1.default.createElement(ChangeName_1.default, { isOpen: newName, onClose: handleCloseName, curName: curName, onNewName: handleSetName, t: t }))));
408
398
  };
399
+ exports.LanguagePicker = LanguagePicker;
409
400
  exports.default = exports.LanguagePicker;
@@ -204,7 +204,7 @@ var _31925_1 = require("./Exact/31925");
204
204
  var _31908_1 = require("./Exact/31908");
205
205
  var _20013_1 = require("./Exact/20013");
206
206
  var _32321_1 = require("./Exact/32321");
207
- exports.hasExact = function (key) {
207
+ var hasExact = function (key) {
208
208
  if (!key || key.length === 0)
209
209
  return false;
210
210
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -413,7 +413,8 @@ exports.hasExact = function (key) {
413
413
  default: return false;
414
414
  }
415
415
  };
416
- exports.getExact = function (key) {
416
+ exports.hasExact = hasExact;
417
+ var getExact = function (key) {
417
418
  if (!key || key.length === 0)
418
419
  return [];
419
420
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -622,7 +623,8 @@ exports.getExact = function (key) {
622
623
  default: return [];
623
624
  }
624
625
  };
625
- exports.hasPart = function (key) {
626
+ exports.getExact = getExact;
627
+ var hasPart = function (key) {
626
628
  if (!key || key.length === 0)
627
629
  return false;
628
630
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -831,7 +833,8 @@ exports.hasPart = function (key) {
831
833
  default: return false;
832
834
  }
833
835
  };
834
- exports.getPart = function (key) {
836
+ exports.hasPart = hasPart;
837
+ var getPart = function (key) {
835
838
  if (!key || key.length === 0)
836
839
  return [];
837
840
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -1040,3 +1043,4 @@ exports.getPart = function (key) {
1040
1043
  default: return [];
1041
1044
  }
1042
1045
  };
1046
+ exports.getPart = getPart;
@@ -29,7 +29,7 @@ var _119_1 = require("./Scripts/119");
29
29
  var _120_1 = require("./Scripts/120");
30
30
  var _121_1 = require("./Scripts/121");
31
31
  var _122_1 = require("./Scripts/122");
32
- exports.hasScripts = function (key) {
32
+ var hasScripts = function (key) {
33
33
  if (!key || key.length === 0)
34
34
  return false;
35
35
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -63,7 +63,8 @@ exports.hasScripts = function (key) {
63
63
  default: return false;
64
64
  }
65
65
  };
66
- exports.getScripts = function (key) {
66
+ exports.hasScripts = hasScripts;
67
+ var getScripts = function (key) {
67
68
  if (!key || key.length === 0)
68
69
  return [];
69
70
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -97,7 +98,8 @@ exports.getScripts = function (key) {
97
98
  default: return [];
98
99
  }
99
100
  };
100
- exports.hasPart = function (key) {
101
+ exports.getScripts = getScripts;
102
+ var hasPart = function (key) {
101
103
  if (!key || key.length === 0)
102
104
  return false;
103
105
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -131,7 +133,8 @@ exports.hasPart = function (key) {
131
133
  default: return false;
132
134
  }
133
135
  };
134
- exports.getPart = function (key) {
136
+ exports.hasPart = hasPart;
137
+ var getPart = function (key) {
135
138
  if (!key || key.length === 0)
136
139
  return [];
137
140
  switch (key.slice(0, 1).charCodeAt(0)) {
@@ -165,3 +168,4 @@ exports.getPart = function (key) {
165
168
  default: return [];
166
169
  }
167
170
  };
171
+ exports.getPart = getPart;
package/dist/index.js CHANGED
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./LanguagePicker"), exports);
@@ -12,5 +12,9 @@ export interface ILanguagePickerStrings {
12
12
  select: string;
13
13
  cancel: string;
14
14
  phonetic: string;
15
+ changeName?: string;
16
+ nameInstruction?: string;
17
+ newName?: string;
18
+ change?: string;
15
19
  }
16
20
  export declare const languagePickerStrings_en: ILanguagePickerStrings;
@@ -15,5 +15,9 @@ exports.languagePickerStrings_en = {
15
15
  inScript: ' in the $1 script',
16
16
  select: 'Save',
17
17
  cancel: 'Cancel',
18
- phonetic: 'Phonetic'
18
+ phonetic: 'Phonetic',
19
+ changeName: 'Change Name',
20
+ nameInstruction: 'If you would like to change the language name enter the new name here.',
21
+ newName: 'New Language Name',
22
+ change: 'Change',
19
23
  };
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("../langPicker/types"), exports);
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var react_1 = require("react");
4
4
  var useDebounce = function (value, delay) {
5
- var _a = react_1.useState(value), debouncedValue = _a[0], setDebouncedValue = _a[1];
6
- react_1.useEffect(function () {
5
+ var _a = (0, react_1.useState)(value), debouncedValue = _a[0], setDebouncedValue = _a[1];
6
+ (0, react_1.useEffect)(function () {
7
7
  var handler = setTimeout(function () {
8
8
  setDebouncedValue(value);
9
9
  }, delay);
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.woBadChar = exports.hasBadChar = void 0;
4
4
  var badChar = " (),.:/!?_'`0123456789";
5
- exports.hasBadChar = function (s) {
5
+ var hasBadChar = function (s) {
6
6
  for (var _i = 0, _a = s.split(''); _i < _a.length; _i++) {
7
7
  var c = _a[_i];
8
8
  if (badChar.indexOf(c) !== -1)
@@ -10,7 +10,8 @@ exports.hasBadChar = function (s) {
10
10
  }
11
11
  return false;
12
12
  };
13
- exports.woBadChar = function (s) {
13
+ exports.hasBadChar = hasBadChar;
14
+ var woBadChar = function (s) {
14
15
  if (!s)
15
16
  return '';
16
17
  var result = '';
@@ -21,3 +22,4 @@ exports.woBadChar = function (s) {
21
22
  }
22
23
  return result;
23
24
  };
25
+ exports.woBadChar = woBadChar;
@@ -1,13 +1,17 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
8
12
  }));
9
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
17
  __exportStar(require("./badChar"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mui-language-picker",
3
- "version": "1.1.15",
3
+ "version": "1.2.0",
4
4
  "description": "Material UI language picker",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,42 +29,47 @@
29
29
  },
30
30
  "homepage": "https://github.com/sillsdev/mui-language-picker#readme",
31
31
  "devDependencies": {
32
- "@babel/cli": "^7.11.6",
33
- "@babel/core": "^7.11.6",
34
- "@babel/preset-env": "^7.11.5",
35
- "@babel/preset-react": "^7.10.4",
36
- "@material-ui/core": "^4.11.0",
37
- "@material-ui/icons": "^4.9.1",
38
- "@testing-library/jest-dom": "^4.2.4",
39
- "@testing-library/react": "^9.5.0",
40
- "@testing-library/user-event": "^7.2.1",
41
- "@types/jest": "^24.9.1",
32
+ "@babel/cli": "^7.18.10",
33
+ "@babel/core": "^7.18.13",
34
+ "@babel/preset-env": "^7.18.10",
35
+ "@babel/preset-react": "^7.18.6",
36
+ "@emotion/react": "^11.10.0",
37
+ "@emotion/styled": "^11.10.0",
38
+ "@mui/icons-material": "^5.10.2",
39
+ "@mui/material": "^5.10.2",
40
+ "@testing-library/jest-dom": "^5.16.5",
41
+ "@testing-library/react": "^13.3.0",
42
+ "@testing-library/user-event": "^13.5.0",
43
+ "@types/jest": "^27.5.2",
42
44
  "@types/lodash": "^4.14.162",
43
- "@types/node": "^12.12.67",
44
- "@types/react": "^16.9.52",
45
- "@types/react-dom": "^16.9.8",
45
+ "@types/node": "^16.11.52",
46
+ "@types/react": "^18.0.17",
47
+ "@types/react-dom": "^18.0.6",
46
48
  "copyfiles": "^2.4.0",
47
- "jest": "^26.5.3",
48
- "react": "^16.13.1",
49
- "react-dom": "^16.13.1",
49
+ "jest": "^28.1.3",
50
+ "jest-environment-jsdom": "^28.1.3",
51
+ "react": "^18.2.0",
52
+ "react-dom": "^18.2.0",
53
+ "react-testing-library": "^8.0.1",
50
54
  "rimraf": "^3.0.2",
51
- "ts-jest": "^26.4.1",
55
+ "ts-jest": "^28.0.8",
52
56
  "tslint": "^6.1.3",
53
- "typescript": "^3.9.7",
57
+ "typescript": "^4.7.4",
54
58
  "write": "^2.0.0"
55
59
  },
56
60
  "peerdependencies": {
57
- "@material-ui/core": "^4.10.0",
58
- "@material-ui/icons": "^4.9.1",
59
- "react": "^16.13.1",
60
- "react-dom": "^16.13.1"
61
+ "@emotion/react": "^11.10.0",
62
+ "@emotion/styled": "^11.10.0",
63
+ "@mui/icons-material": "^5.10.2",
64
+ "@mui/material": "^5.10.2",
65
+ "react": "^18.2.0",
66
+ "react-dom": "^18.2.0"
61
67
  },
62
68
  "prettier": {
63
69
  "trailingComma": "es5"
64
70
  },
65
71
  "dependencies": {
66
- "keycode": "^2.2.0",
67
- "lodash": "^4.17.20"
72
+ "lodash": "^4.17.21"
68
73
  },
69
74
  "jest": {
70
75
  "moduleFileExtensions": [
@@ -76,5 +81,17 @@
76
81
  "\\.(ts|tsx)$": "ts-jest"
77
82
  },
78
83
  "testRegex": "(/__tests__/.*|.*\\.test)\\.(ts|tsx)$"
84
+ },
85
+ "browserslist": {
86
+ "production": [
87
+ ">0.2%",
88
+ "not dead",
89
+ "not op_mini all"
90
+ ],
91
+ "development": [
92
+ "last 1 chrome version",
93
+ "last 1 firefox version",
94
+ "last 1 safari version"
95
+ ]
79
96
  }
80
97
  }