@onepercentio/one-ui 0.28.9 → 0.29.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.
@@ -0,0 +1,13 @@
1
+ /// <reference types="node" />
2
+ import Module from "module";
3
+ type PossibleT = (string | readonly [id: string, func: (n: number) => `${string}-${number}`])[];
4
+ type T<IDS extends PossibleT> = {
5
+ [I in IDS[number] extends string ? IDS[number] : IDS[number][0]]: I extends IDS[number] ? string : (id: any) => string;
6
+ };
7
+ export declare function combineTestIds(...t: ReturnType<typeof testIDFactory>[]): {};
8
+ /**
9
+ * Creates an data-testid map generator instance based on the module name or arbitrary id
10
+ * @returns A function to set the IDs that this created instance will provide
11
+ */
12
+ export declare function testIDFactory(moduleOrId: Pick<Module, "id"> | string): <const IDS extends PossibleT>(...idsArr: IDS[]) => T<IDS>;
13
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.combineTestIds = combineTestIds;
7
+ exports.testIDFactory = testIDFactory;
8
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
10
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
12
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
13
+ function toSrcPath(str) {
14
+ const indexOfSrc = str.indexOf("src");
15
+ const modName = indexOfSrc === -1 ? str : str.slice(indexOfSrc);
16
+ return modName.replace("appclientecmascript", "");
17
+ }
18
+ function combineTestIds() {
19
+ for (var _len = arguments.length, t = new Array(_len), _key = 0; _key < _len; _key++) {
20
+ t[_key] = arguments[_key];
21
+ }
22
+ return t.reduce((acc, i) => _objectSpread(_objectSpread({}, acc), {}, {
23
+ i
24
+ }), {});
25
+ }
26
+
27
+ /**
28
+ * Creates an data-testid map generator instance based on the module name or arbitrary id
29
+ * @returns A function to set the IDs that this created instance will provide
30
+ */
31
+ function testIDFactory(moduleOrId) {
32
+ const moduleId = typeof module === "string" ? module : module.id;
33
+ return function () {
34
+ for (var _len2 = arguments.length, idsArr = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
35
+ idsArr[_key2] = arguments[_key2];
36
+ }
37
+ return idsArr.reduce((acc, ids) => _objectSpread(_objectSpread({}, acc), ids.reduce((map, id) => _objectSpread(_objectSpread({}, map), {}, {
38
+ [typeof id === "string" ? id : id[0]]: typeof id === "string" ? "".concat(toSrcPath(moduleId.toLowerCase().replace(/[^a-z]/g, "")), "-").concat(id) : i => "".concat(toSrcPath(moduleId.toLowerCase().replace(/[^a-z]/g, "")), "-").concat(id[1](i))
39
+ }), {})), {});
40
+ };
41
+ }
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0b1NyY1BhdGgiLCJzdHIiLCJpbmRleE9mU3JjIiwiaW5kZXhPZiIsIm1vZE5hbWUiLCJzbGljZSIsInJlcGxhY2UiLCJjb21iaW5lVGVzdElkcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ0IiwiQXJyYXkiLCJfa2V5IiwicmVkdWNlIiwiYWNjIiwiaSIsIl9vYmplY3RTcHJlYWQiLCJ0ZXN0SURGYWN0b3J5IiwibW9kdWxlT3JJZCIsIm1vZHVsZUlkIiwibW9kdWxlIiwiaWQiLCJfbGVuMiIsImlkc0FyciIsIl9rZXkyIiwiaWRzIiwibWFwIiwiY29uY2F0IiwidG9Mb3dlckNhc2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvZTJlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBNb2R1bGUgZnJvbSBcIm1vZHVsZVwiO1xuXG5mdW5jdGlvbiB0b1NyY1BhdGgoc3RyOiBzdHJpbmcpIHtcbiAgY29uc3QgaW5kZXhPZlNyYyA9IHN0ci5pbmRleE9mKFwic3JjXCIpO1xuICBjb25zdCBtb2ROYW1lID0gaW5kZXhPZlNyYyA9PT0gLTEgPyBzdHIgOiBzdHIuc2xpY2UoaW5kZXhPZlNyYyk7XG4gIHJldHVybiBtb2ROYW1lLnJlcGxhY2UoXCJhcHBjbGllbnRlY21hc2NyaXB0XCIsIFwiXCIpO1xufVxuXG50eXBlIFBvc3NpYmxlVCA9IChcbiAgfCBzdHJpbmdcbiAgfCByZWFkb25seSBbaWQ6IHN0cmluZywgZnVuYzogKG46IG51bWJlcikgPT4gYCR7c3RyaW5nfS0ke251bWJlcn1gXVxuKVtdO1xuXG50eXBlIFQ8SURTIGV4dGVuZHMgUG9zc2libGVUPiA9IHtcbiAgW0kgaW4gSURTW251bWJlcl0gZXh0ZW5kcyBzdHJpbmdcbiAgICA/IElEU1tudW1iZXJdXG4gICAgOiBJRFNbbnVtYmVyXVswXV06IEkgZXh0ZW5kcyBJRFNbbnVtYmVyXSA/IHN0cmluZyA6IChpZDogYW55KSA9PiBzdHJpbmc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZVRlc3RJZHMoLi4udDogUmV0dXJuVHlwZTx0eXBlb2YgdGVzdElERmFjdG9yeT5bXSkge1xuICByZXR1cm4gdC5yZWR1Y2UoKGFjYywgaSkgPT4gKHsgLi4uYWNjLCBpIH0pLCB7fSk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBkYXRhLXRlc3RpZCBtYXAgZ2VuZXJhdG9yIGluc3RhbmNlIGJhc2VkIG9uIHRoZSBtb2R1bGUgbmFtZSBvciBhcmJpdHJhcnkgaWRcbiAqIEByZXR1cm5zIEEgZnVuY3Rpb24gdG8gc2V0IHRoZSBJRHMgdGhhdCB0aGlzIGNyZWF0ZWQgaW5zdGFuY2Ugd2lsbCBwcm92aWRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXN0SURGYWN0b3J5KG1vZHVsZU9ySWQ6IFBpY2s8TW9kdWxlLCBcImlkXCI+IHwgc3RyaW5nKSB7XG4gIGNvbnN0IG1vZHVsZUlkID0gdHlwZW9mIG1vZHVsZSA9PT0gXCJzdHJpbmdcIiA/IG1vZHVsZSA6IG1vZHVsZS5pZDtcbiAgcmV0dXJuIDxjb25zdCBJRFMgZXh0ZW5kcyBQb3NzaWJsZVQ+KC4uLmlkc0FycjogSURTW10pID0+XG4gICAgaWRzQXJyLnJlZHVjZShcbiAgICAgIChhY2MsIGlkcykgPT4gKHtcbiAgICAgICAgLi4uYWNjLFxuICAgICAgICAuLi5pZHMucmVkdWNlKFxuICAgICAgICAgIChtYXAsIGlkKSA9PiAoe1xuICAgICAgICAgICAgLi4ubWFwLFxuICAgICAgICAgICAgW3R5cGVvZiBpZCA9PT0gXCJzdHJpbmdcIiA/IGlkIDogaWRbMF1dOlxuICAgICAgICAgICAgICB0eXBlb2YgaWQgPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgICAgICA/IGAke3RvU3JjUGF0aChcbiAgICAgICAgICAgICAgICAgICAgbW9kdWxlSWQudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXmEtel0vZywgXCJcIilcbiAgICAgICAgICAgICAgICAgICl9LSR7aWR9YFxuICAgICAgICAgICAgICAgIDogKGk6IGFueSkgPT5cbiAgICAgICAgICAgICAgICAgICAgYCR7dG9TcmNQYXRoKFxuICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZUlkLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvW15hLXpdL2csIFwiXCIpXG4gICAgICAgICAgICAgICAgICAgICl9LSR7aWRbMV0oaSl9YCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgICB7fSBhcyBUPElEUz5cbiAgICAgICAgKSxcbiAgICAgIH0pLFxuICAgICAge30gYXMgVDxJRFM+XG4gICAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBRUEsU0FBU0EsU0FBU0EsQ0FBQ0MsR0FBVyxFQUFFO0VBQzlCLE1BQU1DLFVBQVUsR0FBR0QsR0FBRyxDQUFDRSxPQUFPLENBQUMsS0FBSyxDQUFDO0VBQ3JDLE1BQU1DLE9BQU8sR0FBR0YsVUFBVSxLQUFLLENBQUMsQ0FBQyxHQUFHRCxHQUFHLEdBQUdBLEdBQUcsQ0FBQ0ksS0FBSyxDQUFDSCxVQUFVLENBQUM7RUFDL0QsT0FBT0UsT0FBTyxDQUFDRSxPQUFPLENBQUMscUJBQXFCLEVBQUUsRUFBRSxDQUFDO0FBQ25EO0FBYU8sU0FBU0MsY0FBY0EsQ0FBQSxFQUEyQztFQUFBLFNBQUFDLElBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQXZDQyxDQUFDLE9BQUFDLEtBQUEsQ0FBQUosSUFBQSxHQUFBSyxJQUFBLE1BQUFBLElBQUEsR0FBQUwsSUFBQSxFQUFBSyxJQUFBO0lBQURGLENBQUMsQ0FBQUUsSUFBQSxJQUFBSixTQUFBLENBQUFJLElBQUE7RUFBQTtFQUNqQyxPQUFPRixDQUFDLENBQUNHLE1BQU0sQ0FBQyxDQUFDQyxHQUFHLEVBQUVDLENBQUMsS0FBQUMsYUFBQSxDQUFBQSxhQUFBLEtBQVdGLEdBQUc7SUFBRUM7RUFBQyxFQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbEQ7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDTyxTQUFTRSxhQUFhQSxDQUFDQyxVQUF1QyxFQUFFO0VBQ3JFLE1BQU1DLFFBQVEsR0FBRyxPQUFPQyxNQUFNLEtBQUssUUFBUSxHQUFHQSxNQUFNLEdBQUdBLE1BQU0sQ0FBQ0MsRUFBRTtFQUNoRSxPQUFPO0lBQUEsU0FBQUMsS0FBQSxHQUFBZCxTQUFBLENBQUFDLE1BQUEsRUFBaUNjLE1BQU0sT0FBQVosS0FBQSxDQUFBVyxLQUFBLEdBQUFFLEtBQUEsTUFBQUEsS0FBQSxHQUFBRixLQUFBLEVBQUFFLEtBQUE7TUFBTkQsTUFBTSxDQUFBQyxLQUFBLElBQUFoQixTQUFBLENBQUFnQixLQUFBO0lBQUE7SUFBQSxPQUM1Q0QsTUFBTSxDQUFDVixNQUFNLENBQ1gsQ0FBQ0MsR0FBRyxFQUFFVyxHQUFHLEtBQUFULGFBQUEsQ0FBQUEsYUFBQSxLQUNKRixHQUFHLEdBQ0hXLEdBQUcsQ0FBQ1osTUFBTSxDQUNYLENBQUNhLEdBQUcsRUFBRUwsRUFBRSxLQUFBTCxhQUFBLENBQUFBLGFBQUEsS0FDSFUsR0FBRztNQUNOLENBQUMsT0FBT0wsRUFBRSxLQUFLLFFBQVEsR0FBR0EsRUFBRSxHQUFHQSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQ2xDLE9BQU9BLEVBQUUsS0FBSyxRQUFRLE1BQUFNLE1BQUEsQ0FDZjVCLFNBQVMsQ0FDVm9CLFFBQVEsQ0FBQ1MsV0FBVyxDQUFDLENBQUMsQ0FBQ3ZCLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUM5QyxDQUFDLE9BQUFzQixNQUFBLENBQUlOLEVBQUUsSUFDTk4sQ0FBTSxPQUFBWSxNQUFBLENBQ0Y1QixTQUFTLENBQ1ZvQixRQUFRLENBQUNTLFdBQVcsQ0FBQyxDQUFDLENBQUN2QixPQUFPLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FDOUMsQ0FBQyxPQUFBc0IsTUFBQSxDQUFJTixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUNOLENBQUMsQ0FBQztJQUFFLEVBQ3ZCLEVBQ0YsQ0FBQyxDQUNILENBQUMsQ0FDRCxFQUNGLENBQUMsQ0FDSCxDQUFDO0VBQUE7QUFDTCIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onepercentio/one-ui",
3
- "version": "0.28.9",
3
+ "version": "0.29.0",
4
4
  "description": "A set of reusable components created through the development of Onepercent projects",
5
5
  "repository": "git@github.com:onepercentio/one-ui.git",
6
6
  "author": "Murilo Oliveira de Araujo <murilo.araujo@onepercent.io>",
@@ -0,0 +1,52 @@
1
+ import Module from "module";
2
+
3
+ function toSrcPath(str: string) {
4
+ const indexOfSrc = str.indexOf("src");
5
+ const modName = indexOfSrc === -1 ? str : str.slice(indexOfSrc);
6
+ return modName.replace("appclientecmascript", "");
7
+ }
8
+
9
+ type PossibleT = (
10
+ | string
11
+ | readonly [id: string, func: (n: number) => `${string}-${number}`]
12
+ )[];
13
+
14
+ type T<IDS extends PossibleT> = {
15
+ [I in IDS[number] extends string
16
+ ? IDS[number]
17
+ : IDS[number][0]]: I extends IDS[number] ? string : (id: any) => string;
18
+ };
19
+
20
+ export function combineTestIds(...t: ReturnType<typeof testIDFactory>[]) {
21
+ return t.reduce((acc, i) => ({ ...acc, i }), {});
22
+ }
23
+
24
+ /**
25
+ * Creates an data-testid map generator instance based on the module name or arbitrary id
26
+ * @returns A function to set the IDs that this created instance will provide
27
+ */
28
+ export function testIDFactory(moduleOrId: Pick<Module, "id"> | string) {
29
+ const moduleId = typeof module === "string" ? module : module.id;
30
+ return <const IDS extends PossibleT>(...idsArr: IDS[]) =>
31
+ idsArr.reduce(
32
+ (acc, ids) => ({
33
+ ...acc,
34
+ ...ids.reduce(
35
+ (map, id) => ({
36
+ ...map,
37
+ [typeof id === "string" ? id : id[0]]:
38
+ typeof id === "string"
39
+ ? `${toSrcPath(
40
+ moduleId.toLowerCase().replace(/[^a-z]/g, "")
41
+ )}-${id}`
42
+ : (i: any) =>
43
+ `${toSrcPath(
44
+ moduleId.toLowerCase().replace(/[^a-z]/g, "")
45
+ )}-${id[1](i)}`,
46
+ }),
47
+ {} as T<IDS>
48
+ ),
49
+ }),
50
+ {} as T<IDS>
51
+ );
52
+ }