@bigbinary/neeto-commons-frontend 3.1.17 → 3.1.18
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/cjs/translations/en.json +7 -0
- package/cjs/utils/index.js +11 -0
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/validators/index.js +17 -0
- package/cjs/utils/validators/index.js.map +1 -0
- package/cjs/utils/validators/slug.js +58 -0
- package/cjs/utils/validators/slug.js.map +1 -0
- package/package.json +3 -2
- package/translations/en.json +7 -0
- package/utils/index.js +1 -0
- package/utils/index.js.map +1 -1
- package/utils/validators/index.js +1 -0
- package/utils/validators/index.js.map +1 -0
- package/utils/validators/slug.js +48 -0
- package/utils/validators/slug.js.map +1 -0
- package/utils.d.ts +19 -1
package/cjs/translations/en.json
CHANGED
|
@@ -95,6 +95,13 @@
|
|
|
95
95
|
},
|
|
96
96
|
"notice": {
|
|
97
97
|
"errorOccurred": "Some error occurred."
|
|
98
|
+
},
|
|
99
|
+
"validators": {
|
|
100
|
+
"isRequired": "{{what}} is required.",
|
|
101
|
+
"mustNotContainCapitalLetters": "{{what}} must not contain capital letters.",
|
|
102
|
+
"mustNotContainSpaces": "{{what}} must not contain spaces.",
|
|
103
|
+
"mustNotContainSpecialCharactersExceptHyphen": "{{what}} must not contain any special characters, except '-'",
|
|
104
|
+
"mustNotStartOrEndWithSpecialCharacters": "{{what}} must not start or end with special characters."
|
|
98
105
|
}
|
|
99
106
|
}
|
|
100
107
|
}
|
package/cjs/utils/index.js
CHANGED
|
@@ -69,4 +69,15 @@ Object.keys(_currencyFormat).forEach(function (key) {
|
|
|
69
69
|
}
|
|
70
70
|
});
|
|
71
71
|
});
|
|
72
|
+
var _validators = require("./validators");
|
|
73
|
+
Object.keys(_validators).forEach(function (key) {
|
|
74
|
+
if (key === "default" || key === "__esModule") return;
|
|
75
|
+
if (key in exports && exports[key] === _validators[key]) return;
|
|
76
|
+
Object.defineProperty(exports, key, {
|
|
77
|
+
enumerable: true,
|
|
78
|
+
get: function get() {
|
|
79
|
+
return _validators[key];
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
72
83
|
//# sourceMappingURL=index.js.map
|
package/cjs/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_axios","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_general","_datetime","_permissions","_createSubscription","_currencyFormat"],"sources":["../../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,MAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,MAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,MAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,QAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,QAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,QAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAC,QAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,SAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,SAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,SAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAE,SAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,YAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,YAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,YAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAG,YAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,mBAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,mBAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,mBAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAI,mBAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,eAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,eAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,eAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAK,eAAA,CAAAT,GAAA;IAAA;EAAA;AAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_axios","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_general","_datetime","_permissions","_createSubscription","_currencyFormat","_validators"],"sources":["../../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\nexport * from \"./validators\";\n"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
var _slug = require("./slug");
|
|
7
|
+
Object.keys(_slug).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _slug[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function get() {
|
|
13
|
+
return _slug[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_slug","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../../../../src/utils/validators/index.js"],"sourcesContent":["export * from \"./slug\";\n"],"mappings":";;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,KAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,KAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAT,KAAA,CAAAK,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.slugValidator = void 0;
|
|
8
|
+
var _regex = require("../../constants/regex");
|
|
9
|
+
var _i18next = require("i18next");
|
|
10
|
+
var yup = _interopRequireWildcard(require("yup"));
|
|
11
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
|
+
var slugValidator = function slugValidator(label) {
|
|
14
|
+
return yup.string().test({
|
|
15
|
+
name: "slug",
|
|
16
|
+
test: function test(value, ctx) {
|
|
17
|
+
if (!value) {
|
|
18
|
+
return ctx.createError({
|
|
19
|
+
message: (0, _i18next.t)("neetoCommons.validators.isRequired", {
|
|
20
|
+
what: label
|
|
21
|
+
})
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (_regex.VALID_SLUG_REGEX.test(value)) return true;
|
|
25
|
+
if (/[A-Z]/.test(value)) {
|
|
26
|
+
return ctx.createError({
|
|
27
|
+
message: (0, _i18next.t)("neetoCommons.validators.mustNotContainCapitalLetters", {
|
|
28
|
+
what: label
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
if (value !== null && value !== void 0 && value.includes(" ")) {
|
|
33
|
+
return ctx.createError({
|
|
34
|
+
message: (0, _i18next.t)("neetoCommons.validators.mustNotContainSpaces", {
|
|
35
|
+
what: label
|
|
36
|
+
})
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
if (!/^[a-z0-9-]+$/.test(value)) {
|
|
40
|
+
return ctx.createError({
|
|
41
|
+
message: (0, _i18next.t)("neetoCommons.validators.mustNotContainSpecialCharactersExceptHyphen", {
|
|
42
|
+
what: label
|
|
43
|
+
})
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
if (/^[-]|[-]$/.test(value)) {
|
|
47
|
+
return ctx.createError({
|
|
48
|
+
message: (0, _i18next.t)("neetoCommons.validators.mustNotStartOrEndWithSpecialCharacters", {
|
|
49
|
+
what: label
|
|
50
|
+
})
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
exports.slugValidator = slugValidator;
|
|
58
|
+
//# sourceMappingURL=slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slug.js","names":["_regex","require","_i18next","yup","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","slugValidator","label","string","test","name","value","ctx","createError","message","t","what","VALID_SLUG_REGEX","includes","exports"],"sources":["../../../../src/utils/validators/slug.js"],"sourcesContent":["import { VALID_SLUG_REGEX } from \"constants/regex\";\n\nimport { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const slugValidator = label =>\n yup.string().test({\n name: \"slug\",\n test: (value, ctx) => {\n if (!value) {\n return ctx.createError({\n message: t(\"neetoCommons.validators.isRequired\", { what: label }),\n });\n }\n\n if (VALID_SLUG_REGEX.test(value)) return true;\n\n if (/[A-Z]/.test(value)) {\n return ctx.createError({\n message: t(\"neetoCommons.validators.mustNotContainCapitalLetters\", {\n what: label,\n }),\n });\n }\n\n if (value?.includes(\" \")) {\n return ctx.createError({\n message: t(\"neetoCommons.validators.mustNotContainSpaces\", {\n what: label,\n }),\n });\n }\n\n if (!/^[a-z0-9-]+$/.test(value)) {\n return ctx.createError({\n message: t(\n \"neetoCommons.validators.mustNotContainSpecialCharactersExceptHyphen\",\n { what: label }\n ),\n });\n }\n\n if (/^[-]|[-]$/.test(value)) {\n return ctx.createError({\n message: t(\n \"neetoCommons.validators.mustNotStartOrEndWithSpecialCharacters\",\n { what: label }\n ),\n });\n }\n\n return true;\n },\n });\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neeto-commons-frontend",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.18",
|
|
4
4
|
"description": "A package encapsulating common code across neeto projects including initializers, utility functions, common components and hooks and so on.",
|
|
5
5
|
"repository": "git@github.com:bigbinary/neeto-commons-frontend.git",
|
|
6
6
|
"author": "Amaljith K <amaljith.k@bigbinary.com>",
|
|
@@ -93,6 +93,7 @@
|
|
|
93
93
|
"react-toastify": "8.0.2",
|
|
94
94
|
"shakapacker": "^6.5.5",
|
|
95
95
|
"tailwindcss": "^3.4.1",
|
|
96
|
-
"webpack": "^5.75.0"
|
|
96
|
+
"webpack": "^5.75.0",
|
|
97
|
+
"yup": "^1.3.3"
|
|
97
98
|
}
|
|
98
99
|
}
|
package/translations/en.json
CHANGED
|
@@ -95,6 +95,13 @@
|
|
|
95
95
|
},
|
|
96
96
|
"notice": {
|
|
97
97
|
"errorOccurred": "Some error occurred."
|
|
98
|
+
},
|
|
99
|
+
"validators": {
|
|
100
|
+
"isRequired": "{{what}} is required.",
|
|
101
|
+
"mustNotContainCapitalLetters": "{{what}} must not contain capital letters.",
|
|
102
|
+
"mustNotContainSpaces": "{{what}} must not contain spaces.",
|
|
103
|
+
"mustNotContainSpecialCharactersExceptHyphen": "{{what}} must not contain any special characters, except '-'",
|
|
104
|
+
"mustNotStartOrEndWithSpecialCharacters": "{{what}} must not start or end with special characters."
|
|
98
105
|
}
|
|
99
106
|
}
|
|
100
107
|
}
|
package/utils/index.js
CHANGED
package/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/utils/index.js"],"sourcesContent":["export * from \"./axios\";\nexport * from \"./general\";\nexport * from \"./datetime\";\nexport * from \"./permissions\";\nexport * from \"./createSubscription\";\nexport * from \"./currencyFormat\";\nexport * from \"./validators\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./slug";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../src/utils/validators/index.js"],"sourcesContent":["export * from \"./slug\";\n"],"mappings":"AAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { VALID_SLUG_REGEX } from "../../constants/regex";
|
|
2
|
+
import { t } from "i18next";
|
|
3
|
+
import * as yup from "yup";
|
|
4
|
+
export var slugValidator = function slugValidator(label) {
|
|
5
|
+
return yup.string().test({
|
|
6
|
+
name: "slug",
|
|
7
|
+
test: function test(value, ctx) {
|
|
8
|
+
if (!value) {
|
|
9
|
+
return ctx.createError({
|
|
10
|
+
message: t("neetoCommons.validators.isRequired", {
|
|
11
|
+
what: label
|
|
12
|
+
})
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
if (VALID_SLUG_REGEX.test(value)) return true;
|
|
16
|
+
if (/[A-Z]/.test(value)) {
|
|
17
|
+
return ctx.createError({
|
|
18
|
+
message: t("neetoCommons.validators.mustNotContainCapitalLetters", {
|
|
19
|
+
what: label
|
|
20
|
+
})
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
if (value !== null && value !== void 0 && value.includes(" ")) {
|
|
24
|
+
return ctx.createError({
|
|
25
|
+
message: t("neetoCommons.validators.mustNotContainSpaces", {
|
|
26
|
+
what: label
|
|
27
|
+
})
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (!/^[a-z0-9-]+$/.test(value)) {
|
|
31
|
+
return ctx.createError({
|
|
32
|
+
message: t("neetoCommons.validators.mustNotContainSpecialCharactersExceptHyphen", {
|
|
33
|
+
what: label
|
|
34
|
+
})
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (/^[-]|[-]$/.test(value)) {
|
|
38
|
+
return ctx.createError({
|
|
39
|
+
message: t("neetoCommons.validators.mustNotStartOrEndWithSpecialCharacters", {
|
|
40
|
+
what: label
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slug.js","names":["VALID_SLUG_REGEX","t","yup","slugValidator","label","string","test","name","value","ctx","createError","message","what","includes"],"sources":["../../../src/utils/validators/slug.js"],"sourcesContent":["import { VALID_SLUG_REGEX } from \"constants/regex\";\n\nimport { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const slugValidator = label =>\n yup.string().test({\n name: \"slug\",\n test: (value, ctx) => {\n if (!value) {\n return ctx.createError({\n message: t(\"neetoCommons.validators.isRequired\", { what: label }),\n });\n }\n\n if (VALID_SLUG_REGEX.test(value)) return true;\n\n if (/[A-Z]/.test(value)) {\n return ctx.createError({\n message: t(\"neetoCommons.validators.mustNotContainCapitalLetters\", {\n what: label,\n }),\n });\n }\n\n if (value?.includes(\" \")) {\n return ctx.createError({\n message: t(\"neetoCommons.validators.mustNotContainSpaces\", {\n what: label,\n }),\n });\n }\n\n if (!/^[a-z0-9-]+$/.test(value)) {\n return ctx.createError({\n message: t(\n \"neetoCommons.validators.mustNotContainSpecialCharactersExceptHyphen\",\n { what: label }\n ),\n });\n }\n\n if (/^[-]|[-]$/.test(value)) {\n return ctx.createError({\n message: t(\n \"neetoCommons.validators.mustNotStartOrEndWithSpecialCharacters\",\n { what: label }\n ),\n });\n }\n\n return true;\n },\n });\n"],"mappings":"AAAA,SAASA,gBAAgB;AAEzB,SAASC,CAAC,QAAQ,SAAS;AAC3B,OAAO,KAAKC,GAAG,MAAM,KAAK;AAE1B,OAAO,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,KAAK;EAAA,OAChCF,GAAG,CAACG,MAAM,EAAE,CAACC,IAAI,CAAC;IAChBC,IAAI,EAAE,MAAM;IACZD,IAAI,EAAE,SAAAA,KAACE,KAAK,EAAEC,GAAG,EAAK;MACpB,IAAI,CAACD,KAAK,EAAE;QACV,OAAOC,GAAG,CAACC,WAAW,CAAC;UACrBC,OAAO,EAAEV,CAAC,CAAC,oCAAoC,EAAE;YAAEW,IAAI,EAAER;UAAM,CAAC;QAClE,CAAC,CAAC;MACJ;MAEA,IAAIJ,gBAAgB,CAACM,IAAI,CAACE,KAAK,CAAC,EAAE,OAAO,IAAI;MAE7C,IAAI,OAAO,CAACF,IAAI,CAACE,KAAK,CAAC,EAAE;QACvB,OAAOC,GAAG,CAACC,WAAW,CAAC;UACrBC,OAAO,EAAEV,CAAC,CAAC,sDAAsD,EAAE;YACjEW,IAAI,EAAER;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAII,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEK,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxB,OAAOJ,GAAG,CAACC,WAAW,CAAC;UACrBC,OAAO,EAAEV,CAAC,CAAC,8CAA8C,EAAE;YACzDW,IAAI,EAAER;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAI,CAAC,cAAc,CAACE,IAAI,CAACE,KAAK,CAAC,EAAE;QAC/B,OAAOC,GAAG,CAACC,WAAW,CAAC;UACrBC,OAAO,EAAEV,CAAC,CACR,qEAAqE,EACrE;YAAEW,IAAI,EAAER;UAAM,CAAC;QAEnB,CAAC,CAAC;MACJ;MAEA,IAAI,WAAW,CAACE,IAAI,CAACE,KAAK,CAAC,EAAE;QAC3B,OAAOC,GAAG,CAACC,WAAW,CAAC;UACrBC,OAAO,EAAEV,CAAC,CACR,gEAAgE,EAChE;YAAEW,IAAI,EAAER;UAAM,CAAC;QAEnB,CAAC,CAAC;MACJ;MAEA,OAAO,IAAI;IACb;EACF,CAAC,CAAC;AAAA"}
|
package/utils.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Mixin, Subscription } from "@rails/actioncable";
|
|
2
2
|
import dayjs from "dayjs";
|
|
3
3
|
import React from "react";
|
|
4
|
+
import { StringSchema } from "yup";
|
|
4
5
|
export function resetAuthTokens(): void;
|
|
5
6
|
/**
|
|
6
7
|
*
|
|
@@ -517,4 +518,21 @@ export const currencyFormat: {
|
|
|
517
518
|
* showThumbsUpToastr();
|
|
518
519
|
* @endexample
|
|
519
520
|
*/
|
|
520
|
-
export function showThumbsUpToastr(): void;
|
|
521
|
+
export function showThumbsUpToastr(): void;
|
|
522
|
+
/**
|
|
523
|
+
*
|
|
524
|
+
* Ensure a given string is a valid slug, containing only lowercase letters,
|
|
525
|
+
*
|
|
526
|
+
* numbers, and hyphens.
|
|
527
|
+
*
|
|
528
|
+
* @example
|
|
529
|
+
*
|
|
530
|
+
* slugValidator("Slug").isValid("valid-slug"); // output true
|
|
531
|
+
* slugValidator("Slug").isValid("invalid slug"); // output false
|
|
532
|
+
*
|
|
533
|
+
* const schema = yup.object().shape({
|
|
534
|
+
* slug: slugValidator("Slug"),
|
|
535
|
+
* });
|
|
536
|
+
* @endexample
|
|
537
|
+
*/
|
|
538
|
+
export function slugValidator(label: string): StringSchema;
|