infinity-forge 0.65.8 → 0.65.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ui/components/form/handler/component.js +16 -0
- package/dist/ui/components/form/handler/component.js.map +1 -1
- package/dist/ui/components/form/handler/form-handler/index.d.ts +1 -1
- package/dist/ui/components/form/handler/form-handler/index.js +5 -4
- package/dist/ui/components/form/handler/form-handler/index.js.map +1 -1
- package/dist/ui/components/form/handler/interfaces.d.ts +4 -1
- package/dist/ui/components/form/input-seo/components/form/index.js +1 -1
- package/dist/ui/components/form/input-seo/components/form/index.js.map +1 -1
- package/dist/ui/contexts/i18n/context.js +55 -1
- package/dist/ui/contexts/i18n/context.js.map +1 -1
- package/dist/ui/contexts/i18n/interfaces.d.ts +7 -1
- package/package.json +73 -73
|
@@ -18,8 +18,24 @@ exports.FormHandler = void 0;
|
|
|
18
18
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
19
19
|
var formik_1 = require("formik");
|
|
20
20
|
var form_handler_1 = __importDefault(require("./form-handler/index.js"));
|
|
21
|
+
var contexts_1 = require("../../../../ui/contexts/index.js");
|
|
22
|
+
var system_1 = require("../../../../system/index.js");
|
|
21
23
|
function FormHandler(props) {
|
|
24
|
+
if (props.i18n) {
|
|
25
|
+
return (0, jsx_runtime_1.jsx)(FormI18n, __assign({}, props));
|
|
26
|
+
}
|
|
22
27
|
return ((0, jsx_runtime_1.jsx)(formik_1.Formik, { initialValues: props.initialData || {}, onSubmit: function () { }, children: (0, jsx_runtime_1.jsx)(form_handler_1.default, __assign({}, props, { children: props.children })) }));
|
|
23
28
|
}
|
|
24
29
|
exports.FormHandler = FormHandler;
|
|
30
|
+
function FormI18n(props) {
|
|
31
|
+
var languages = (0, contexts_1.useI18n)().languages;
|
|
32
|
+
if ((!languages || languages.length === 0)) {
|
|
33
|
+
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "Error on load languages" });
|
|
34
|
+
}
|
|
35
|
+
return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(system_1.Tab, { tabs: (languages === null || languages === void 0 ? void 0 : languages.map(function (lang) { return ({
|
|
36
|
+
key: lang.id,
|
|
37
|
+
title: lang.symbol,
|
|
38
|
+
content: function () { return ((0, jsx_runtime_1.jsx)(formik_1.Formik, { initialValues: props.initialData[lang.symbol] || {}, onSubmit: function () { }, children: (0, jsx_runtime_1.jsx)(form_handler_1.default, __assign({}, props, { i18n: { languageSymbol: lang.symbol }, children: props.children })) })); },
|
|
39
|
+
}); })) || [] }) }));
|
|
40
|
+
}
|
|
25
41
|
//# sourceMappingURL=component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/handler/component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAA+B;AAE/B,gEAAwC;
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../../../../src/ui/components/form/handler/component.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iCAA+B;AAE/B,gEAAwC;AAExC,0CAAuC;AACvC,mCAA8B;AAE9B,SAAgB,WAAW,CAAC,KAAmB;IAC7C,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,uBAAC,QAAQ,eAAK,KAAK,EAAI,CAAA;IAChC,CAAC;IAED,OAAO,CACL,uBAAC,eAAM,IAAC,aAAa,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAO,CAAC,YAChE,uBAAC,sBAAW,eAAK,KAAK,cAAG,KAAK,CAAC,QAAQ,IAAe,GAC/C,CACV,CAAA;AACH,CAAC;AAVD,kCAUC;AAED,SAAS,QAAQ,CAAC,KAAmB;IAC3B,IAAA,SAAS,GAAK,IAAA,kBAAO,GAAE,UAAd,CAAc;IAE/B,IAAG,CAAC,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1C,OAAO,uFAA4B,CAAA;IACrC,CAAC;IAED,OAAO,CACL,2DACE,uBAAC,YAAG,IACF,IAAI,EAAE,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC;gBAC9B,GAAG,EAAE,IAAI,CAAC,EAAE;gBACZ,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,OAAO,EAAE,cAAM,OAAA,CACb,uBAAC,eAAM,IAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,cAAO,CAAC,YAC7E,uBAAC,sBAAW,eAAK,KAAK,IAAE,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAG,YAAG,KAAK,CAAC,QAAQ,IAAe,GACvF,CACV,EAJc,CAId;aACF,CAAC,EAR6B,CAQ7B,CAAC,KAAI,EAAE,GACT,GACD,CACJ,CAAA;AACH,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { IFormHandler } from '../interfaces.js';
|
|
2
|
-
export default function FormElement({ button, schema, children, onSucess, debugMode, autoComplete, customSubmit, onChangeForm, customAction, defaultSchemas, isStickyButtons, cleanFieldsOnSubmit, disableEnterKeySubmitForm, }: IFormHandler): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export default function FormElement({ i18n, button, schema, children, onSucess, debugMode, autoComplete, customSubmit, onChangeForm, customAction, defaultSchemas, isStickyButtons, cleanFieldsOnSubmit, disableEnterKeySubmitForm, }: IFormHandler): import("react/jsx-runtime").JSX.Element;
|
|
@@ -89,7 +89,7 @@ var generate_schemas_1 = require("./generate-schemas.js");
|
|
|
89
89
|
var custom_submit_1 = require("../custom-submit/index.js");
|
|
90
90
|
var S = __importStar(require("../styles.js"));
|
|
91
91
|
function FormElement(_a) {
|
|
92
|
-
var button = _a.button, schema = _a.schema, children = _a.children, onSucess = _a.onSucess, debugMode = _a.debugMode, autoComplete = _a.autoComplete, customSubmit = _a.customSubmit, onChangeForm = _a.onChangeForm, customAction = _a.customAction, defaultSchemas = _a.defaultSchemas, isStickyButtons = _a.isStickyButtons, _b = _a.cleanFieldsOnSubmit, cleanFieldsOnSubmit = _b === void 0 ? true : _b, _c = _a.disableEnterKeySubmitForm, disableEnterKeySubmitForm = _c === void 0 ? false : _c;
|
|
92
|
+
var i18n = _a.i18n, button = _a.button, schema = _a.schema, children = _a.children, onSucess = _a.onSucess, debugMode = _a.debugMode, autoComplete = _a.autoComplete, customSubmit = _a.customSubmit, onChangeForm = _a.onChangeForm, customAction = _a.customAction, defaultSchemas = _a.defaultSchemas, isStickyButtons = _a.isStickyButtons, _b = _a.cleanFieldsOnSubmit, cleanFieldsOnSubmit = _b === void 0 ? true : _b, _c = _a.disableEnterKeySubmitForm, disableEnterKeySubmitForm = _c === void 0 ? false : _c;
|
|
93
93
|
var _d = (0, react_1.useState)({ state: '', message: '' }), stateForm = _d[0], setStateForm = _d[1];
|
|
94
94
|
var _e = (0, formik_1.useFormikContext)(), values = _e.values, setErrors = _e.setErrors, setFieldError = _e.setFieldError, setFieldValue = _e.setFieldValue;
|
|
95
95
|
function validateSchemas() {
|
|
@@ -115,7 +115,7 @@ function FormElement(_a) {
|
|
|
115
115
|
}
|
|
116
116
|
function onSubmit(action) {
|
|
117
117
|
return __awaiter(this, void 0, void 0, function () {
|
|
118
|
-
var _a, _b, err_1, errors_1, validationErrors_1;
|
|
118
|
+
var payload, _a, _b, err_1, errors_1, validationErrors_1;
|
|
119
119
|
return __generator(this, function (_c) {
|
|
120
120
|
switch (_c.label) {
|
|
121
121
|
case 0:
|
|
@@ -128,9 +128,10 @@ function FormElement(_a) {
|
|
|
128
128
|
return [4 /*yield*/, validateSchemas()];
|
|
129
129
|
case 1:
|
|
130
130
|
_c.sent();
|
|
131
|
+
payload = __assign(__assign({}, (values || {})), { languageSymbol: i18n === null || i18n === void 0 ? void 0 : i18n.languageSymbol });
|
|
131
132
|
_a = onSucess && !action;
|
|
132
133
|
if (!_a) return [3 /*break*/, 3];
|
|
133
|
-
return [4 /*yield*/, onSucess(
|
|
134
|
+
return [4 /*yield*/, onSucess(payload, { setFieldError: setFieldError, setFieldValue: setFieldValue })];
|
|
134
135
|
case 2:
|
|
135
136
|
_a = (_c.sent());
|
|
136
137
|
_c.label = 3;
|
|
@@ -139,7 +140,7 @@ function FormElement(_a) {
|
|
|
139
140
|
!action && setStateForm({ state: 'send', message: '' });
|
|
140
141
|
_b = action;
|
|
141
142
|
if (!_b) return [3 /*break*/, 5];
|
|
142
|
-
return [4 /*yield*/, action(
|
|
143
|
+
return [4 /*yield*/, action(payload, setStateForm)];
|
|
143
144
|
case 4:
|
|
144
145
|
_b = (_c.sent());
|
|
145
146
|
_c.label = 5;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/components/form/handler/form-handler/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAA2C;AAE3C,uCAA0B;AAC1B,iCAA+C;AAE/C,2BAA6B;AAC7B,mCAA0E;AAE1E,uDAA4D;AAC5D,kDAAyE;AAIzE,2CAA8B;AAE9B,SAAwB,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/components/form/handler/form-handler/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,9 +5,12 @@ import { ICustomSubmitProps } from './custom-submit/index.js';
|
|
|
5
5
|
import { IDefaultSchemas } from './form-handler/generate-schemas.js';
|
|
6
6
|
export interface IFormHandler {
|
|
7
7
|
ref?: any;
|
|
8
|
+
i18n?: {
|
|
9
|
+
languageSymbol?: string;
|
|
10
|
+
};
|
|
8
11
|
defaultSchemas?: IDefaultSchemas;
|
|
9
12
|
isStickyButtons?: boolean;
|
|
10
|
-
autoComplete?:
|
|
13
|
+
autoComplete?: 'on' | 'off';
|
|
11
14
|
onSucess?: (data: any, handlers?: {
|
|
12
15
|
setFieldError: (field: string, message: string) => void;
|
|
13
16
|
setFieldValue: (field: string, value: any, shouldValidate?: boolean) => Promise<void | FormikErrors<unknown>>;
|
|
@@ -28,7 +28,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
28
28
|
var ui_1 = require("../../../../../../ui/index.js");
|
|
29
29
|
var S = __importStar(require("./styles.js"));
|
|
30
30
|
function Form() {
|
|
31
|
-
return ((0, jsx_runtime_1.jsx)(ui_1.Error, { name: 'Form', children: (0, jsx_runtime_1.jsxs)(S.Form, { className: 'form', children: [(0, jsx_runtime_1.jsx)(ui_1.Input, { name: '
|
|
31
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.Error, { name: 'Form', children: (0, jsx_runtime_1.jsxs)(S.Form, { className: 'form', children: [(0, jsx_runtime_1.jsx)(ui_1.Input, { name: 'metatitle', label: 'SEO Title', className: 'font-16', maxLength: 60 }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(ui_1.Textarea, { name: 'metadescription', label: 'Meta Description', maxLength: 160 }), (0, jsx_runtime_1.jsx)("span", { className: 'font-12 dm-sans', children: "Preencha com at\u00E9 160 caracteres." })] }), (0, jsx_runtime_1.jsx)(ui_1.InputFile, { label: 'MetaImage', isLocalFile: true, name: 'metaimage' })] }) }));
|
|
32
32
|
}
|
|
33
33
|
exports.Form = Form;
|
|
34
34
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-seo/components/form/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAwD;AAExD,0CAA6B;AAE7B,SAAgB,IAAI;IAClB,OAAO,CACL,uBAAC,UAAK,IAAC,IAAI,EAAC,MAAM,YAChB,wBAAC,CAAC,CAAC,IAAI,IAAC,SAAS,EAAC,MAAM,aACtB,uBAAC,UAAK,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAE,EAAE,GAAI,EAE/E,4CACE,uBAAC,aAAQ,IACP,IAAI,EAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/ui/components/form/input-seo/components/form/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAwD;AAExD,0CAA6B;AAE7B,SAAgB,IAAI;IAClB,OAAO,CACL,uBAAC,UAAK,IAAC,IAAI,EAAC,MAAM,YAChB,wBAAC,CAAC,CAAC,IAAI,IAAC,SAAS,EAAC,MAAM,aACtB,uBAAC,UAAK,IAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,WAAW,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAE,EAAE,GAAI,EAE/E,4CACE,uBAAC,aAAQ,IACP,IAAI,EAAC,iBAAiB,EACtB,KAAK,EAAC,kBAAkB,EACxB,SAAS,EAAE,GAAG,GACd,EAEF,iCAAM,SAAS,EAAC,iBAAiB,sDAAwC,IACrE,EAEN,uBAAC,cAAS,IAAC,KAAK,EAAC,WAAW,EAAC,WAAW,QAAC,IAAI,EAAC,WAAW,GAAG,IACrD,GACH,CACT,CAAA;AACH,CAAC;AApBD,oBAoBC"}
|
|
@@ -10,20 +10,59 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
14
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
15
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
16
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
17
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
18
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
19
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
23
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
25
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
26
|
+
function step(op) {
|
|
27
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
28
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
29
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
30
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
31
|
+
switch (op[0]) {
|
|
32
|
+
case 0: case 1: t = op; break;
|
|
33
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
34
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
35
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
36
|
+
default:
|
|
37
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
38
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
39
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
40
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
41
|
+
if (t[2]) _.ops.pop();
|
|
42
|
+
_.trys.pop(); continue;
|
|
43
|
+
}
|
|
44
|
+
op = body.call(thisArg, _);
|
|
45
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
46
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
47
|
+
}
|
|
48
|
+
};
|
|
13
49
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
50
|
exports.useI18n = exports.I18nProvider = void 0;
|
|
15
51
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
16
52
|
var react_1 = require("react");
|
|
17
53
|
var router_1 = require("next/router");
|
|
54
|
+
var ui_1 = require("../../../ui/index.js");
|
|
18
55
|
var system_1 = require("../../../system/index.js");
|
|
19
56
|
var I18nContext = (0, react_1.createContext)({
|
|
20
57
|
language: 'pt-BR',
|
|
58
|
+
languages: [],
|
|
21
59
|
words: [],
|
|
22
60
|
languagesNext: [],
|
|
23
61
|
changeLanguage: function () { return undefined; },
|
|
24
62
|
findWordByLanguage: function () { return undefined; },
|
|
25
63
|
});
|
|
26
64
|
function I18nProvider(props) {
|
|
65
|
+
var _this = this;
|
|
27
66
|
var router = (0, router_1.useRouter)();
|
|
28
67
|
var pathname = router.pathname, asPath = router.asPath, query = router.query;
|
|
29
68
|
function findWordByLanguage(languageSymbol, referenceID) {
|
|
@@ -31,10 +70,25 @@ function I18nProvider(props) {
|
|
|
31
70
|
var translation = (_b = (_a = props === null || props === void 0 ? void 0 : props.words) === null || _a === void 0 ? void 0 : _a.find(function (word) { return word.referenceCode === referenceID; })) === null || _b === void 0 ? void 0 : _b.items.find(function (language) { return language.symbol === languageSymbol; });
|
|
32
71
|
return translation;
|
|
33
72
|
}
|
|
73
|
+
var languages = (0, ui_1.useQuery)({
|
|
74
|
+
queryKey: 'Languages',
|
|
75
|
+
queryFn: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
76
|
+
var result;
|
|
77
|
+
var _a;
|
|
78
|
+
return __generator(this, function (_b) {
|
|
79
|
+
switch (_b.label) {
|
|
80
|
+
case 0: return [4 /*yield*/, fetch(process.env.api + 'language').then(function (r) { return r.json(); })];
|
|
81
|
+
case 1:
|
|
82
|
+
result = _b.sent();
|
|
83
|
+
return [2 /*return*/, (_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.items];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}); },
|
|
87
|
+
});
|
|
34
88
|
function changeLanguage(locale) {
|
|
35
89
|
router.push({ pathname: pathname, query: query }, asPath, { locale: locale });
|
|
36
90
|
}
|
|
37
|
-
return ((0, jsx_runtime_1.jsx)(I18nContext.Provider, { value: __assign(__assign({}, props), { changeLanguage: changeLanguage, findWordByLanguage: findWordByLanguage }), children: router.query.editMode ? (0, jsx_runtime_1.jsx)(system_1.PrivatePage, { roles: props.roleToEditLanguage, children: props.children }) : props.children }));
|
|
91
|
+
return ((0, jsx_runtime_1.jsx)(I18nContext.Provider, { value: __assign(__assign({}, props), { languages: languages.data, changeLanguage: changeLanguage, findWordByLanguage: findWordByLanguage }), children: router.query.editMode ? ((0, jsx_runtime_1.jsx)(system_1.PrivatePage, { roles: props.roleToEditLanguage, children: props.children })) : (props.children) }));
|
|
38
92
|
}
|
|
39
93
|
exports.I18nProvider = I18nProvider;
|
|
40
94
|
function useI18n() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/ui/contexts/i18n/context.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/ui/contexts/i18n/context.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAiD;AAEjD,sCAAuC;AAEvC,2BAA+B;AAC/B,mCAAgD;AAKhD,IAAM,WAAW,GAAG,IAAA,qBAAa,EAAkB;IACjD,QAAQ,EAAE,OAAO;IACjB,SAAS,EAAE,EAAE;IACb,KAAK,EAAE,EAAE;IACT,aAAa,EAAE,EAAE;IACjB,cAAc,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;IAC/B,kBAAkB,EAAE,cAAM,OAAA,SAAS,EAAT,CAAS;CACpC,CAAC,CAAA;AAEF,SAAS,YAAY,CAAC,KAAuB;IAA7C,iBAyCC;IAxCC,IAAM,MAAM,GAAG,IAAA,kBAAS,GAAE,CAAA;IAClB,IAAA,QAAQ,GAAoB,MAAM,SAA1B,EAAE,MAAM,GAAY,MAAM,OAAlB,EAAE,KAAK,GAAK,MAAM,MAAX,CAAW;IAE1C,SAAS,kBAAkB,CAAC,cAAkC,EAAE,WAAmB;;QACjF,IAAM,WAAW,GAAG,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,0CAC5B,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,aAAa,KAAK,WAAW,EAAlC,CAAkC,CAAC,0CAClD,KAAK,CAAC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,MAAM,KAAK,cAAc,EAAlC,CAAkC,CAAC,CAAA;QAEhE,OAAO,WAAW,CAAA;IACpB,CAAC;IAED,IAAM,SAAS,GAAG,IAAA,aAAQ,EAOxB;QACA,QAAQ,EAAE,WAAW;QACrB,OAAO,EAAE;;;;;4BACQ,qBAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,EAAE,EAAR,CAAQ,CAAC,EAAA;;wBAAxE,MAAM,GAAG,SAA+D;wBAE9E,sBAAO,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,0CAAE,KAAK,EAAA;;;aAC3B;KACF,CAAC,CAAA;IAEF,SAAS,cAAc,CAAC,MAA0B;QAChD,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,UAAA,EAAE,KAAK,OAAA,EAAE,EAAE,MAAM,EAAE,EAAE,MAAM,QAAA,EAAE,CAAC,CAAA;IACtD,CAAC;IAED,OAAO,CACL,uBAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,wBAAO,KAAK,KAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,cAAc,gBAAA,EAAE,kBAAkB,oBAAA,eACnG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CACvB,uBAAC,oBAAW,IAAC,KAAK,EAAE,KAAK,CAAC,kBAAkB,YAAG,KAAK,CAAC,QAAQ,GAAe,CAC7E,CAAC,CAAC,CAAC,CACF,KAAK,CAAC,QAAQ,CACf,GACoB,CACxB,CAAA;AACH,CAAC;AAQQ,oCAAY;AANrB,SAAS,OAAO;IACd,IAAM,OAAO,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAA;IAEvC,OAAO,OAAO,CAAA;AAChB,CAAC;AAEsB,0BAAO"}
|
|
@@ -3,11 +3,17 @@ import { Language, Translation, Word } from '../../../system/index.js';
|
|
|
3
3
|
export type I18nContextProps = {
|
|
4
4
|
words: Word[];
|
|
5
5
|
language: string;
|
|
6
|
+
languages?: {
|
|
7
|
+
id: string;
|
|
8
|
+
image: string;
|
|
9
|
+
main: boolean;
|
|
10
|
+
symbol: string;
|
|
11
|
+
}[];
|
|
6
12
|
children?: React.ReactNode;
|
|
7
13
|
roleToEditLanguage?: string[];
|
|
8
14
|
languagesNext: Language['symbol'][];
|
|
9
15
|
};
|
|
10
|
-
export type I18nContextType =
|
|
16
|
+
export type I18nContextType = I18nContextProps & {
|
|
11
17
|
changeLanguage(locale: Language["symbol"]): void;
|
|
12
18
|
findWordByLanguage: (languageId: Language['symbol'], referenceID: string) => Translation | undefined;
|
|
13
19
|
};
|
package/package.json
CHANGED
|
@@ -1,73 +1,73 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "infinity-forge",
|
|
3
|
-
"version": "0.65.
|
|
4
|
-
"description": "codie Library",
|
|
5
|
-
"main": "./dist/index",
|
|
6
|
-
"module": "./dist/index",
|
|
7
|
-
"types": "./dist/index.d.ts",
|
|
8
|
-
"repository": {
|
|
9
|
-
"type": "git",
|
|
10
|
-
"url": "https://github.com/CodieDigital/codiedigital-library"
|
|
11
|
-
},
|
|
12
|
-
"scripts": {
|
|
13
|
-
"dev": "next -p 3050",
|
|
14
|
-
"deploy": "npm version patch && npm publish",
|
|
15
|
-
"next": "next build",
|
|
16
|
-
"start": "next start -p 3015",
|
|
17
|
-
"build": "concurrently --kill-others-on-fail \"tsc -w\" \"tsc-alias -w --resolve-full-paths\" \"npm run build:CSS\" \"npm run fonts\"",
|
|
18
|
-
"build:CSS": "npm run minify-css && node combine-css.ts && cpx \"src/**/*.css\" dist --watch",
|
|
19
|
-
"minify-css": "postcss src/**/*.css --use cssnano -d dist --no-map",
|
|
20
|
-
"fonts": "tsc-alias -p tsconfig.json && mkdir dist\\fonts && for /r src %i in (*.otf, *.ttf) do copy \"%i\" dist\\fonts\\"
|
|
21
|
-
},
|
|
22
|
-
"peerDependencies": {
|
|
23
|
-
"react": ">=16"
|
|
24
|
-
},
|
|
25
|
-
"files": [
|
|
26
|
-
"dist",
|
|
27
|
-
"LICENSE",
|
|
28
|
-
"README.md"
|
|
29
|
-
],
|
|
30
|
-
"keywords": [
|
|
31
|
-
"react",
|
|
32
|
-
"typescript",
|
|
33
|
-
"awesome-project"
|
|
34
|
-
],
|
|
35
|
-
"author": "Codie Digital",
|
|
36
|
-
"license": "MIT",
|
|
37
|
-
"devDependencies": {
|
|
38
|
-
"@types/node": "^20.12.12",
|
|
39
|
-
"@types/react": "^18.3.3",
|
|
40
|
-
"@types/react-dom": "^18.3.0",
|
|
41
|
-
"@types/styled-components": "^5.1.34",
|
|
42
|
-
"concurrently": "^8.2.2",
|
|
43
|
-
"copyfiles": "^2.4.1",
|
|
44
|
-
"cpx": "^1.5.0",
|
|
45
|
-
"cssnano": "^7.0.1",
|
|
46
|
-
"fs-extra": "^11.2.0",
|
|
47
|
-
"postcss": "^8.4.38",
|
|
48
|
-
"postcss-cli": "^11.0.0",
|
|
49
|
-
"tsc-alias": "^1.8.10",
|
|
50
|
-
"tslib": "^2.6.2",
|
|
51
|
-
"typescript": "^5.4.5"
|
|
52
|
-
},
|
|
53
|
-
"dependencies": {
|
|
54
|
-
"axios": "^1.7.2",
|
|
55
|
-
"chroma-js": "^2.4.2",
|
|
56
|
-
"formik": "^2.4.6",
|
|
57
|
-
"inversify": "^6.0.2",
|
|
58
|
-
"moment": "^2.30.1",
|
|
59
|
-
"next": "^14.2.3",
|
|
60
|
-
"react": "18.3.1",
|
|
61
|
-
"react-dom": "18.3.1",
|
|
62
|
-
"react-ga": "^3.3.1",
|
|
63
|
-
"react-rte": "^0.16.5",
|
|
64
|
-
"react-select": "^5.8.0",
|
|
65
|
-
"react-share": "^5.1.0",
|
|
66
|
-
"react-webcam": "^7.2.0",
|
|
67
|
-
"reflect-metadata": "^0.2.2",
|
|
68
|
-
"sharp": "^0.33.4",
|
|
69
|
-
"styled-components": "^6.1.11",
|
|
70
|
-
"yup": "^1.4.0",
|
|
71
|
-
"zustand": "^4.5.2"
|
|
72
|
-
}
|
|
73
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "infinity-forge",
|
|
3
|
+
"version": "0.65.9",
|
|
4
|
+
"description": "codie Library",
|
|
5
|
+
"main": "./dist/index",
|
|
6
|
+
"module": "./dist/index",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/CodieDigital/codiedigital-library"
|
|
11
|
+
},
|
|
12
|
+
"scripts": {
|
|
13
|
+
"dev": "next -p 3050",
|
|
14
|
+
"deploy": "npm version patch && npm publish",
|
|
15
|
+
"next": "next build",
|
|
16
|
+
"start": "next start -p 3015",
|
|
17
|
+
"build": "concurrently --kill-others-on-fail \"tsc -w\" \"tsc-alias -w --resolve-full-paths\" \"npm run build:CSS\" \"npm run fonts\"",
|
|
18
|
+
"build:CSS": "npm run minify-css && node combine-css.ts && cpx \"src/**/*.css\" dist --watch",
|
|
19
|
+
"minify-css": "postcss src/**/*.css --use cssnano -d dist --no-map",
|
|
20
|
+
"fonts": "tsc-alias -p tsconfig.json && mkdir dist\\fonts && for /r src %i in (*.otf, *.ttf) do copy \"%i\" dist\\fonts\\"
|
|
21
|
+
},
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"react": ">=16"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"dist",
|
|
27
|
+
"LICENSE",
|
|
28
|
+
"README.md"
|
|
29
|
+
],
|
|
30
|
+
"keywords": [
|
|
31
|
+
"react",
|
|
32
|
+
"typescript",
|
|
33
|
+
"awesome-project"
|
|
34
|
+
],
|
|
35
|
+
"author": "Codie Digital",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"devDependencies": {
|
|
38
|
+
"@types/node": "^20.12.12",
|
|
39
|
+
"@types/react": "^18.3.3",
|
|
40
|
+
"@types/react-dom": "^18.3.0",
|
|
41
|
+
"@types/styled-components": "^5.1.34",
|
|
42
|
+
"concurrently": "^8.2.2",
|
|
43
|
+
"copyfiles": "^2.4.1",
|
|
44
|
+
"cpx": "^1.5.0",
|
|
45
|
+
"cssnano": "^7.0.1",
|
|
46
|
+
"fs-extra": "^11.2.0",
|
|
47
|
+
"postcss": "^8.4.38",
|
|
48
|
+
"postcss-cli": "^11.0.0",
|
|
49
|
+
"tsc-alias": "^1.8.10",
|
|
50
|
+
"tslib": "^2.6.2",
|
|
51
|
+
"typescript": "^5.4.5"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"axios": "^1.7.2",
|
|
55
|
+
"chroma-js": "^2.4.2",
|
|
56
|
+
"formik": "^2.4.6",
|
|
57
|
+
"inversify": "^6.0.2",
|
|
58
|
+
"moment": "^2.30.1",
|
|
59
|
+
"next": "^14.2.3",
|
|
60
|
+
"react": "18.3.1",
|
|
61
|
+
"react-dom": "18.3.1",
|
|
62
|
+
"react-ga": "^3.3.1",
|
|
63
|
+
"react-rte": "^0.16.5",
|
|
64
|
+
"react-select": "^5.8.0",
|
|
65
|
+
"react-share": "^5.1.0",
|
|
66
|
+
"react-webcam": "^7.2.0",
|
|
67
|
+
"reflect-metadata": "^0.2.2",
|
|
68
|
+
"sharp": "^0.33.4",
|
|
69
|
+
"styled-components": "^6.1.11",
|
|
70
|
+
"yup": "^1.4.0",
|
|
71
|
+
"zustand": "^4.5.2"
|
|
72
|
+
}
|
|
73
|
+
}
|