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 +1 -1
- package/README.md +25 -16
- package/dist/ChangeName.d.ts +11 -0
- package/dist/ChangeName.js +62 -0
- package/dist/GrowingSpacer.d.ts +2 -0
- package/dist/GrowingSpacer.js +10 -0
- package/dist/LanguageChoice.js +39 -43
- package/dist/LanguagePicker.d.ts +2 -0
- package/dist/LanguagePicker.js +89 -98
- package/dist/index/LgExact.js +8 -4
- package/dist/index/LgScripts.js +8 -4
- package/dist/index.js +6 -2
- package/dist/localization/index.d.ts +4 -0
- package/dist/localization/index.js +5 -1
- package/dist/model/index.js +6 -2
- package/dist/useDebounce.js +2 -2
- package/dist/util/badChar.js +4 -2
- package/dist/util/index.js +6 -2
- package/package.json +42 -25
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Material UI react language picker
|
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
|
-
Complete
|
|
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
|
|
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:
|
|
67
|
-
script:
|
|
68
|
-
language:
|
|
69
|
-
selectLanguage:
|
|
70
|
-
findALanguage:
|
|
71
|
-
codeExplained:
|
|
72
|
-
subtags:
|
|
73
|
-
details:
|
|
74
|
-
languageOf:
|
|
75
|
-
inScript:
|
|
76
|
-
select:
|
|
77
|
-
cancel:
|
|
78
|
-
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://
|
|
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,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;
|
package/dist/LanguageChoice.js
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
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 =
|
|
8
|
-
var
|
|
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
|
|
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
|
|
37
|
-
var
|
|
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.
|
|
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(
|
|
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(
|
|
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(
|
|
72
|
-
react_1.default.createElement(
|
|
73
|
-
react_1.default.createElement(
|
|
74
|
-
react_1.default.createElement(
|
|
75
|
-
react_1.default.createElement(
|
|
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(
|
|
79
|
-
react_1.default.createElement(
|
|
80
|
-
react_1.default.createElement(
|
|
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;
|
package/dist/LanguagePicker.d.ts
CHANGED
|
@@ -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;
|
package/dist/LanguagePicker.js
CHANGED
|
@@ -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
|
|
20
|
-
var
|
|
21
|
-
var
|
|
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
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 += "-"
|
|
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("-"
|
|
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(
|
|
366
|
-
react_1.default.createElement(
|
|
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(
|
|
374
|
-
react_1.default.createElement(
|
|
375
|
-
react_1.default.createElement(
|
|
376
|
-
react_1.default.createElement(
|
|
377
|
-
react_1.default.createElement(
|
|
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(
|
|
380
|
-
react_1.default.createElement(
|
|
381
|
-
react_1.default.createElement(Clear_1.default,
|
|
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(
|
|
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(
|
|
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(
|
|
381
|
+
react_1.default.createElement(material_1.MenuItem, { key: defaultScript, value: defaultScript }, defaultScript),
|
|
394
382
|
])), label: "" }),
|
|
395
|
-
react_1.default.createElement(
|
|
396
|
-
MenuProps: {
|
|
397
|
-
|
|
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(
|
|
403
|
-
react_1.default.createElement(
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
react_1.default.createElement(
|
|
407
|
-
|
|
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;
|
package/dist/index/LgExact.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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;
|
package/dist/index/LgScripts.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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" && !
|
|
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
|
};
|
package/dist/model/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.
|
|
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" && !
|
|
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);
|
package/dist/useDebounce.js
CHANGED
|
@@ -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);
|
package/dist/util/badChar.js
CHANGED
|
@@ -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
|
-
|
|
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.
|
|
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;
|
package/dist/util/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.
|
|
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" && !
|
|
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.
|
|
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.
|
|
33
|
-
"@babel/core": "^7.
|
|
34
|
-
"@babel/preset-env": "^7.
|
|
35
|
-
"@babel/preset-react": "^7.
|
|
36
|
-
"@
|
|
37
|
-
"@
|
|
38
|
-
"@
|
|
39
|
-
"@
|
|
40
|
-
"@testing-library/
|
|
41
|
-
"@
|
|
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": "^
|
|
44
|
-
"@types/react": "^
|
|
45
|
-
"@types/react-dom": "^
|
|
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": "^
|
|
48
|
-
"
|
|
49
|
-
"react
|
|
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": "^
|
|
55
|
+
"ts-jest": "^28.0.8",
|
|
52
56
|
"tslint": "^6.1.3",
|
|
53
|
-
"typescript": "^
|
|
57
|
+
"typescript": "^4.7.4",
|
|
54
58
|
"write": "^2.0.0"
|
|
55
59
|
},
|
|
56
60
|
"peerdependencies": {
|
|
57
|
-
"@
|
|
58
|
-
"@
|
|
59
|
-
"
|
|
60
|
-
"
|
|
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
|
-
"
|
|
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
|
}
|