@vitus-labs/core 0.77.0 → 0.79.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/lib/analysis/vitus-labs-core.js.html +1 -1
- package/lib/analysis/vitus-labs-core.module.js.html +1 -1
- package/lib/index.d.ts +8 -8
- package/lib/types/compose.d.ts.map +1 -1
- package/lib/types/context.d.ts.map +1 -1
- package/lib/types/html/htmlTags.d.ts +5 -5
- package/lib/types/html/htmlTags.d.ts.map +1 -1
- package/lib/types/html/index.d.ts +4 -4
- package/lib/types/html/index.d.ts.map +1 -1
- package/lib/types/index.d.ts +3 -3
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/isEmpty.d.ts +1 -1
- package/lib/types/isEmpty.d.ts.map +1 -1
- package/lib/vitus-labs-core.js +44 -6
- package/lib/vitus-labs-core.js.map +1 -1
- package/lib/vitus-labs-core.module.js +43 -6
- package/lib/vitus-labs-core.module.js.map +1 -1
- package/package.json +5 -5
|
@@ -6618,7 +6618,7 @@ var drawChart = (function (exports) {
|
|
|
6618
6618
|
</script>
|
|
6619
6619
|
<script>
|
|
6620
6620
|
/*<!--*/
|
|
6621
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-core.js","children":[{"name":"src","children":[{"uid":"
|
|
6621
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-core.js","children":[{"name":"src","children":[{"uid":"2408-1","name":"config.ts"},{"uid":"2408-3","name":"isEmpty.ts"},{"uid":"2408-5","name":"context.tsx"},{"uid":"2408-7","name":"compose.ts"},{"uid":"2408-9","name":"render.ts"},{"name":"html/htmlTags.ts","uid":"2408-11"},{"uid":"2408-13","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"2408-1":{"renderedLength":708,"gzipLength":248,"brotliLength":0,"metaUid":"2408-0"},"2408-3":{"renderedLength":349,"gzipLength":177,"brotliLength":0,"metaUid":"2408-2"},"2408-5":{"renderedLength":767,"gzipLength":300,"brotliLength":0,"metaUid":"2408-4"},"2408-7":{"renderedLength":78,"gzipLength":86,"brotliLength":0,"metaUid":"2408-6"},"2408-9":{"renderedLength":837,"gzipLength":301,"brotliLength":0,"metaUid":"2408-8"},"2408-11":{"renderedLength":2215,"gzipLength":574,"brotliLength":0,"metaUid":"2408-10"},"2408-13":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"2408-12"}},"nodeMetas":{"2408-0":{"id":"/src/config.ts","moduleParts":{"vitus-labs-core.js":"2408-1"},"imported":[{"uid":"2408-17"}],"importedBy":[{"uid":"2408-12"},{"uid":"2408-4"}]},"2408-2":{"id":"/src/isEmpty.ts","moduleParts":{"vitus-labs-core.js":"2408-3"},"imported":[],"importedBy":[{"uid":"2408-12"},{"uid":"2408-4"},{"uid":"2408-8"}]},"2408-4":{"id":"/src/context.tsx","moduleParts":{"vitus-labs-core.js":"2408-5"},"imported":[{"uid":"2408-18"},{"uid":"2408-0"},{"uid":"2408-2"}],"importedBy":[{"uid":"2408-12"}]},"2408-6":{"id":"/src/compose.ts","moduleParts":{"vitus-labs-core.js":"2408-7"},"imported":[],"importedBy":[{"uid":"2408-12"}]},"2408-8":{"id":"/src/render.ts","moduleParts":{"vitus-labs-core.js":"2408-9"},"imported":[{"uid":"2408-19"},{"uid":"2408-18"},{"uid":"2408-2"}],"importedBy":[{"uid":"2408-12"}]},"2408-10":{"id":"/src/html/htmlTags.ts","moduleParts":{"vitus-labs-core.js":"2408-11"},"imported":[],"importedBy":[{"uid":"2408-16"}]},"2408-12":{"id":"/src/index.ts","moduleParts":{"vitus-labs-core.js":"2408-13"},"imported":[{"uid":"2408-14"},{"uid":"2408-15"},{"uid":"2408-0"},{"uid":"2408-4"},{"uid":"2408-6"},{"uid":"2408-2"},{"uid":"2408-8"},{"uid":"2408-16"}],"importedBy":[],"isEntry":true},"2408-14":{"id":"lodash","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-12"}],"isExternal":true},"2408-15":{"id":"moize","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-12"}],"isExternal":true},"2408-16":{"id":"/src/html/index.ts","moduleParts":{},"imported":[{"uid":"2408-10"}],"importedBy":[{"uid":"2408-12"}]},"2408-17":{"id":"styled-components","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-0"}],"isExternal":true},"2408-18":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-4"},{"uid":"2408-8"}],"isExternal":true},"2408-19":{"id":"react-is","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-8"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
6622
6622
|
|
|
6623
6623
|
const run = () => {
|
|
6624
6624
|
const width = window.innerWidth;
|
|
@@ -6618,7 +6618,7 @@ var drawChart = (function (exports) {
|
|
|
6618
6618
|
</script>
|
|
6619
6619
|
<script>
|
|
6620
6620
|
/*<!--*/
|
|
6621
|
-
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-core.module.js","children":[{"name":"src","children":[{"uid":"
|
|
6621
|
+
const data = {"version":2,"tree":{"name":"root","children":[{"name":"vitus-labs-core.module.js","children":[{"name":"src","children":[{"uid":"2408-21","name":"config.ts"},{"uid":"2408-23","name":"isEmpty.ts"},{"uid":"2408-25","name":"context.tsx"},{"uid":"2408-27","name":"compose.ts"},{"uid":"2408-29","name":"render.ts"},{"name":"html/htmlTags.ts","uid":"2408-31"},{"uid":"2408-33","name":"index.ts"}]}]}],"isRoot":true},"nodeParts":{"2408-21":{"renderedLength":674,"gzipLength":232,"brotliLength":0,"metaUid":"2408-20"},"2408-23":{"renderedLength":349,"gzipLength":177,"brotliLength":0,"metaUid":"2408-22"},"2408-25":{"renderedLength":649,"gzipLength":281,"brotliLength":0,"metaUid":"2408-24"},"2408-27":{"renderedLength":78,"gzipLength":86,"brotliLength":0,"metaUid":"2408-26"},"2408-29":{"renderedLength":797,"gzipLength":284,"brotliLength":0,"metaUid":"2408-28"},"2408-31":{"renderedLength":2215,"gzipLength":574,"brotliLength":0,"metaUid":"2408-30"},"2408-33":{"renderedLength":0,"gzipLength":0,"brotliLength":0,"metaUid":"2408-32"}},"nodeMetas":{"2408-20":{"id":"/src/config.ts","moduleParts":{"vitus-labs-core.module.js":"2408-21"},"imported":[{"uid":"2408-37"}],"importedBy":[{"uid":"2408-32"},{"uid":"2408-24"}]},"2408-22":{"id":"/src/isEmpty.ts","moduleParts":{"vitus-labs-core.module.js":"2408-23"},"imported":[],"importedBy":[{"uid":"2408-32"},{"uid":"2408-24"},{"uid":"2408-28"}]},"2408-24":{"id":"/src/context.tsx","moduleParts":{"vitus-labs-core.module.js":"2408-25"},"imported":[{"uid":"2408-38"},{"uid":"2408-20"},{"uid":"2408-22"}],"importedBy":[{"uid":"2408-32"}]},"2408-26":{"id":"/src/compose.ts","moduleParts":{"vitus-labs-core.module.js":"2408-27"},"imported":[],"importedBy":[{"uid":"2408-32"}]},"2408-28":{"id":"/src/render.ts","moduleParts":{"vitus-labs-core.module.js":"2408-29"},"imported":[{"uid":"2408-39"},{"uid":"2408-38"},{"uid":"2408-22"}],"importedBy":[{"uid":"2408-32"}]},"2408-30":{"id":"/src/html/htmlTags.ts","moduleParts":{"vitus-labs-core.module.js":"2408-31"},"imported":[],"importedBy":[{"uid":"2408-36"}]},"2408-32":{"id":"/src/index.ts","moduleParts":{"vitus-labs-core.module.js":"2408-33"},"imported":[{"uid":"2408-34"},{"uid":"2408-35"},{"uid":"2408-20"},{"uid":"2408-24"},{"uid":"2408-26"},{"uid":"2408-22"},{"uid":"2408-28"},{"uid":"2408-36"}],"importedBy":[],"isEntry":true},"2408-34":{"id":"lodash","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-32"}],"isExternal":true},"2408-35":{"id":"moize","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-32"}],"isExternal":true},"2408-36":{"id":"/src/html/index.ts","moduleParts":{},"imported":[{"uid":"2408-30"}],"importedBy":[{"uid":"2408-32"}]},"2408-37":{"id":"styled-components","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-20"}],"isExternal":true},"2408-38":{"id":"react","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-24"},{"uid":"2408-28"}],"isExternal":true},"2408-39":{"id":"react-is","moduleParts":{},"imported":[],"importedBy":[{"uid":"2408-28"}],"isExternal":true}},"env":{"rollup":"3.10.0"},"options":{"gzip":true,"brotli":false,"sourcemap":false}};
|
|
6622
6622
|
|
|
6623
6623
|
const run = () => {
|
|
6624
6624
|
const width = window.innerWidth;
|
package/lib/index.d.ts
CHANGED
|
@@ -49,6 +49,10 @@ declare type FirstFnParameterType<T extends any[]> = Parameters<PickLastInTuple<
|
|
|
49
49
|
|
|
50
50
|
export { get }
|
|
51
51
|
|
|
52
|
+
export declare const HTML_TAGS: readonly ["a", "abbr", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "meter", "nav", "object", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "small", "source", "span", "strong", "sub", "summary", "sup", "svg", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "u", "ul", "var", "video", "wbr"];
|
|
53
|
+
|
|
54
|
+
export declare const HTML_TEXT_TAGS: readonly ["abbr", "b", "bdi", "bdo", "big", "blockquote", "cite", "code", "dl", "dt", "em", "figcaption", "h1", "h2", "h3", "h4", "h5", "h6", "i", "ins", "kbd", "label", "legend", "li", "p", "pre", "q", "rp", "rt", "s", "small", "span", "strong", "sub", "summary", "sup", "time", "u"];
|
|
55
|
+
|
|
52
56
|
export declare type HTMLElementAttrs = {
|
|
53
57
|
a: React_2.DetailedHTMLProps<React_2.AnchorHTMLAttributes<HTMLAnchorElement>, HTMLAnchorElement>;
|
|
54
58
|
abbr: Base;
|
|
@@ -154,13 +158,11 @@ export declare type HTMLElementAttrs = {
|
|
|
154
158
|
wbr: Base;
|
|
155
159
|
};
|
|
156
160
|
|
|
157
|
-
export declare type HTMLTagAttrsByTag<T extends HTMLTags> = T extends
|
|
161
|
+
export declare type HTMLTagAttrsByTag<T extends HTMLTags> = T extends HTMLTags ? HTMLElementAttrs[T] : {};
|
|
158
162
|
|
|
159
|
-
export declare type HTMLTags = typeof
|
|
163
|
+
export declare type HTMLTags = (typeof HTML_TAGS)[number];
|
|
160
164
|
|
|
161
|
-
export declare
|
|
162
|
-
|
|
163
|
-
export declare type HTMLTagsText = typeof TEXT_TAGS[number];
|
|
165
|
+
export declare type HTMLTextTags = (typeof HTML_TEXT_TAGS)[number];
|
|
164
166
|
|
|
165
167
|
export declare const init: (props: Internal) => void;
|
|
166
168
|
|
|
@@ -172,7 +174,7 @@ declare interface Internal {
|
|
|
172
174
|
textComponent?: ComponentType | HTMLTags;
|
|
173
175
|
}
|
|
174
176
|
|
|
175
|
-
export declare type IsEmpty = <T extends Record<string,
|
|
177
|
+
export declare type IsEmpty = <T extends Record<string, any> | any[] | null>(param?: T) => T extends null | undefined ? true : keyof T extends never ? true : T extends Array<T> ? T[number] extends never ? true : false : false;
|
|
176
178
|
|
|
177
179
|
export declare const isEmpty: IsEmpty;
|
|
178
180
|
|
|
@@ -204,8 +206,6 @@ declare type RenderProps<T extends Record<string, unknown> | undefined> = (props
|
|
|
204
206
|
|
|
205
207
|
export { set }
|
|
206
208
|
|
|
207
|
-
declare const TEXT_TAGS: readonly ["abbr", "b", "bdi", "bdo", "big", "blockquote", "cite", "code", "dl", "dt", "em", "figcaption", "h1", "h2", "h3", "h4", "h5", "h6", "i", "ins", "kbd", "label", "legend", "li", "p", "pre", "q", "rp", "rt", "s", "small", "span", "strong", "sub", "summary", "sup", "time", "u"];
|
|
208
|
-
|
|
209
209
|
declare type Theme = Partial<{
|
|
210
210
|
rootSize: number;
|
|
211
211
|
breakpoints: Breakpoints;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/compose.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/compose.ts"],"names":[],"mappings":"AAAA,KAAK,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAA;AACnC,KAAK,eAAe,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS;IAEhD,GAAG,IAAI,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,GACG,CAAC,GACD,GAAG,CAAA;AACP,KAAK,oBAAoB,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAChF,KAAK,gBAAgB,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAEzD,QAAA,MAAM,OAAO,yFAG2C,CAAA;AAExD,eAAe,OAAO,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,EAAE,EAAW,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAe;AAE1C,QAAA,MAAM,OAAO,oBAAyB,CAAA;AAGtC,KAAK,KAAK,GAAG,OAAO,CAClB;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACxB,CAAA;AAED,KAAK,YAAY,GAAG,OAAO,CACzB;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACxB,CAAA;AAED,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,YAAY,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAiB,EAAE,EAAW,SAAS,EAAE,MAAM,OAAO,CAAA;AAGpE,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAe;AAE1C,QAAA,MAAM,OAAO,oBAAyB,CAAA;AAGtC,KAAK,KAAK,GAAG,OAAO,CAClB;IACE,QAAQ,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,WAAW,CAAA;CACzB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACxB,CAAA;AAED,KAAK,YAAY,GAAG,OAAO,CACzB;IACE,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,SAAS,CAAA;CACpB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CACxB,CAAA;AAED,QAAA,MAAM,QAAQ,EAAE,EAAE,CAAC,YAAY,CAe9B,CAAA;AAED,OAAO,EAAE,OAAO,EAAE,CAAA;AAElB,eAAe,QAAQ,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
declare const
|
|
2
|
-
declare const
|
|
3
|
-
export type HTMLTags = typeof
|
|
4
|
-
export type
|
|
5
|
-
export
|
|
1
|
+
declare const HTML_TAGS: readonly ["a", "abbr", "address", "area", "article", "aside", "audio", "b", "bdi", "bdo", "big", "blockquote", "body", "br", "button", "canvas", "caption", "cite", "code", "col", "colgroup", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "div", "dl", "dt", "em", "embed", "fieldset", "figcaption", "figure", "footer", "form", "h1", "h2", "h3", "h4", "h5", "h6", "header", "hr", "html", "i", "iframe", "img", "input", "ins", "kbd", "label", "legend", "li", "main", "map", "mark", "meter", "nav", "object", "ol", "optgroup", "option", "output", "p", "picture", "pre", "progress", "q", "rp", "rt", "ruby", "s", "samp", "section", "select", "small", "source", "span", "strong", "sub", "summary", "sup", "svg", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "tr", "track", "u", "ul", "var", "video", "wbr"];
|
|
2
|
+
declare const HTML_TEXT_TAGS: readonly ["abbr", "b", "bdi", "bdo", "big", "blockquote", "cite", "code", "dl", "dt", "em", "figcaption", "h1", "h2", "h3", "h4", "h5", "h6", "i", "ins", "kbd", "label", "legend", "li", "p", "pre", "q", "rp", "rt", "s", "small", "span", "strong", "sub", "summary", "sup", "time", "u"];
|
|
3
|
+
export type HTMLTags = (typeof HTML_TAGS)[number];
|
|
4
|
+
export type HTMLTextTags = (typeof HTML_TEXT_TAGS)[number];
|
|
5
|
+
export { HTML_TAGS, HTML_TEXT_TAGS };
|
|
6
6
|
//# sourceMappingURL=htmlTags.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"htmlTags.d.ts","sourceRoot":"","sources":["../../../src/html/htmlTags.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,
|
|
1
|
+
{"version":3,"file":"htmlTags.d.ts","sourceRoot":"","sources":["../../../src/html/htmlTags.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,SAAS,k1BA2HL,CAAA;AAEV,QAAA,MAAM,cAAc,8RAuCV,CAAA;AAEV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEjD,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAE1D,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTML_TAGS, HTML_TEXT_TAGS, HTMLTags, HTMLTextTags } from './htmlTags';
|
|
2
2
|
import type { HTMLElementAttrs } from './htmlElementAttrs';
|
|
3
|
-
type HTMLTagAttrsByTag<T extends HTMLTags> = T extends
|
|
4
|
-
export type { HTMLTags,
|
|
5
|
-
export {
|
|
3
|
+
type HTMLTagAttrsByTag<T extends HTMLTags> = T extends HTMLTags ? HTMLElementAttrs[T] : {};
|
|
4
|
+
export type { HTMLTags, HTMLTextTags, HTMLElementAttrs, HTMLTagAttrsByTag };
|
|
5
|
+
export { HTML_TAGS, HTML_TEXT_TAGS };
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/index.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/html/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAC9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,KAAK,iBAAiB,CAAC,CAAC,SAAS,QAAQ,IAAI,CAAC,SAAS,QAAQ,GAC3D,gBAAgB,CAAC,CAAC,CAAC,GACnB,EAAE,CAAA;AAEN,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,CAAA;AAE3E,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,CAAA"}
|
package/lib/types/index.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ import Provider, { context } from "./context";
|
|
|
5
5
|
import compose from "./compose";
|
|
6
6
|
import isEmpty, { IsEmpty } from "./isEmpty";
|
|
7
7
|
import render, { Render } from "./render";
|
|
8
|
-
import {
|
|
8
|
+
import { HTML_TAGS, HTML_TEXT_TAGS, HTMLTags, HTMLTextTags, HTMLElementAttrs, HTMLTagAttrsByTag } from "./html";
|
|
9
9
|
import type { Breakpoints, BreakpointKeys } from "./types";
|
|
10
|
-
export type { Breakpoints, BreakpointKeys, IsEmpty, Render, HTMLTags,
|
|
11
|
-
export { Provider, context, init, config, compose, isEmpty, render, omit, pick, set, get, throttle, merge, memoize,
|
|
10
|
+
export type { Breakpoints, BreakpointKeys, IsEmpty, Render, HTMLTags, HTMLTextTags, HTMLElementAttrs, HTMLTagAttrsByTag, };
|
|
11
|
+
export { Provider, context, init, config, compose, isEmpty, render, omit, pick, set, get, throttle, merge, memoize, HTML_TAGS, HTML_TEXT_TAGS, };
|
|
12
12
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/types/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,OAAO,MAAM,OAAO,CAAA;AAC3B,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAgB;AACvC,OAAO,QAAQ,EAAE,EAAE,OAAO,EAAE,kBAAiB;AAC7C,OAAO,OAAO,kBAAiB;AAC/B,OAAO,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAiB;AAC5C,OAAO,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAgB;AACzC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,OAAO,MAAM,OAAO,CAAA;AAC3B,OAAO,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAgB;AACvC,OAAO,QAAQ,EAAE,EAAE,OAAO,EAAE,kBAAiB;AAC7C,OAAO,OAAO,kBAAiB;AAC/B,OAAO,OAAO,EAAE,EAAE,OAAO,EAAE,kBAAiB;AAC5C,OAAO,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAgB;AACzC,OAAO,EACL,SAAS,EACT,cAAc,EACd,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAClB,eAAc;AACf,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,gBAAe;AAE1D,YAAY,EACV,WAAW,EACX,cAAc,EACd,OAAO,EACP,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,GAClB,CAAA;AAED,OAAO,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,GAAG,EACH,QAAQ,EACR,KAAK,EACL,OAAO,EACP,SAAS,EACT,cAAc,GACf,CAAA"}
|
package/lib/types/isEmpty.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type IsEmpty = <T extends Record<string,
|
|
1
|
+
export type IsEmpty = <T extends Record<string, any> | any[] | null>(param?: T) => T extends null | undefined ? true : keyof T extends never ? true : T extends Array<T> ? T[number] extends never ? true : false : false;
|
|
2
2
|
declare const isEmpty: IsEmpty;
|
|
3
3
|
export default isEmpty;
|
|
4
4
|
//# sourceMappingURL=isEmpty.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isEmpty.d.ts","sourceRoot":"","sources":["../../src/isEmpty.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"isEmpty.d.ts","sourceRoot":"","sources":["../../src/isEmpty.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,EACjE,KAAK,CAAC,EAAE,CAAC,KACN,CAAC,SAAS,IAAI,GAAG,SAAS,GAC3B,IAAI,GACJ,MAAM,CAAC,SAAS,KAAK,GACrB,IAAI,GACJ,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,GAClB,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,GACrB,IAAI,GACJ,KAAK,GACP,KAAK,CAAA;AAET,QAAA,MAAM,OAAO,EAAE,OAgBd,CAAA;AAED,eAAe,OAAO,CAAA"}
|
package/lib/vitus-labs-core.js
CHANGED
|
@@ -61,8 +61,7 @@ const VitusLabsProvider = context.Provider;
|
|
|
61
61
|
const Provider = ({ theme, children, ...props }) => {
|
|
62
62
|
const ExternalProvider = React.useMemo(() => config.provider, []);
|
|
63
63
|
const context = React.useMemo(() => ({ theme, ...props }), [theme, props]);
|
|
64
|
-
|
|
65
|
-
if (!theme || isEmpty(theme))
|
|
64
|
+
if (isEmpty(theme))
|
|
66
65
|
return React__default["default"].createElement(React__default["default"].Fragment, null, children);
|
|
67
66
|
if (ExternalProvider) {
|
|
68
67
|
return (React__default["default"].createElement(VitusLabsProvider, { value: context },
|
|
@@ -71,8 +70,6 @@ const Provider = ({ theme, children, ...props }) => {
|
|
|
71
70
|
return React__default["default"].createElement(VitusLabsProvider, { value: context }, children);
|
|
72
71
|
};
|
|
73
72
|
|
|
74
|
-
// const compose = <R>(fn1: (a: R) => R, ...fns: Array<(a: R) => R>) =>
|
|
75
|
-
// fns.reduce((a, b) => (value) => a(b(value)), fn1)
|
|
76
73
|
const compose = (...fns) => (p) => fns.reduceRight((acc, cur) => cur(acc), p);
|
|
77
74
|
|
|
78
75
|
const render = (content, attachProps) => {
|
|
@@ -101,7 +98,7 @@ const render = (content, attachProps) => {
|
|
|
101
98
|
return content;
|
|
102
99
|
};
|
|
103
100
|
|
|
104
|
-
const
|
|
101
|
+
const HTML_TAGS = [
|
|
105
102
|
'a',
|
|
106
103
|
'abbr',
|
|
107
104
|
// 'acronym',
|
|
@@ -224,6 +221,46 @@ const TAGS = [
|
|
|
224
221
|
'var',
|
|
225
222
|
'video',
|
|
226
223
|
'wbr',
|
|
224
|
+
];
|
|
225
|
+
const HTML_TEXT_TAGS = [
|
|
226
|
+
'abbr',
|
|
227
|
+
'b',
|
|
228
|
+
'bdi',
|
|
229
|
+
'bdo',
|
|
230
|
+
'big',
|
|
231
|
+
'blockquote',
|
|
232
|
+
'cite',
|
|
233
|
+
'code',
|
|
234
|
+
'dl',
|
|
235
|
+
'dt',
|
|
236
|
+
'em',
|
|
237
|
+
'figcaption',
|
|
238
|
+
'h1',
|
|
239
|
+
'h2',
|
|
240
|
+
'h3',
|
|
241
|
+
'h4',
|
|
242
|
+
'h5',
|
|
243
|
+
'h6',
|
|
244
|
+
'i',
|
|
245
|
+
'ins',
|
|
246
|
+
'kbd',
|
|
247
|
+
'label',
|
|
248
|
+
'legend',
|
|
249
|
+
'li',
|
|
250
|
+
'p',
|
|
251
|
+
'pre',
|
|
252
|
+
'q',
|
|
253
|
+
'rp',
|
|
254
|
+
'rt',
|
|
255
|
+
's',
|
|
256
|
+
'small',
|
|
257
|
+
'span',
|
|
258
|
+
'strong',
|
|
259
|
+
'sub',
|
|
260
|
+
'summary',
|
|
261
|
+
'sup',
|
|
262
|
+
'time',
|
|
263
|
+
'u',
|
|
227
264
|
];
|
|
228
265
|
|
|
229
266
|
Object.defineProperty(exports, 'get', {
|
|
@@ -254,11 +291,12 @@ Object.defineProperty(exports, 'memoize', {
|
|
|
254
291
|
enumerable: true,
|
|
255
292
|
get: function () { return moize__default["default"]; }
|
|
256
293
|
});
|
|
294
|
+
exports.HTML_TAGS = HTML_TAGS;
|
|
295
|
+
exports.HTML_TEXT_TAGS = HTML_TEXT_TAGS;
|
|
257
296
|
exports.Provider = Provider;
|
|
258
297
|
exports.compose = compose;
|
|
259
298
|
exports.config = config;
|
|
260
299
|
exports.context = context;
|
|
261
|
-
exports.htmlTags = TAGS;
|
|
262
300
|
exports.init = init;
|
|
263
301
|
exports.isEmpty = isEmpty;
|
|
264
302
|
exports.render = render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitus-labs-core.js","sources":["../src/config.ts","../src/isEmpty.ts","../src/context.tsx","../src/compose.ts","../src/render.ts","../src/html/htmlTags.ts"],"sourcesContent":["import { ComponentType } from 'react'\nimport type { HTMLTags } from '~/html'\nimport styled, {\n css,\n ThemeProvider,\n ThemedCssFunction,\n StyledInterface,\n DefaultTheme,\n ThemeProviderComponent,\n} from 'styled-components'\n\ninterface Internal {\n css: ThemedCssFunction<DefaultTheme>\n styled: StyledInterface\n provider?: ThemeProviderComponent<any, any>\n component?: ComponentType | HTMLTags\n textComponent?: ComponentType | HTMLTags\n}\n\nclass Configuration {\n css = css\n\n styled = styled\n\n provider = ThemeProvider\n\n component: ComponentType | HTMLTags = 'div'\n\n textComponent: ComponentType | HTMLTags = 'span'\n\n init = (props: Internal) => {\n if (props.css) {\n this.css = props.css\n }\n\n if (props.styled) {\n this.styled = props.styled\n }\n\n if (props.provider) {\n this.provider = props.provider\n }\n\n if (props.component) {\n this.component = props.component\n }\n\n if (props.textComponent) {\n this.textComponent = props.textComponent\n }\n }\n}\n\nconst config = new Configuration()\n\nconst { init } = config\n\nexport default config\nexport { init }\n","export type IsEmpty = <T extends Record<string, unknown> | unknown[] | null>(\n param?: T\n) => null | undefined extends T ? true : keyof T extends never ? true : false\n\nconst isEmpty: IsEmpty = (param) => {\n if (!param) return true\n\n if (typeof param !== 'object') {\n return true as any\n }\n\n if (Array.isArray(param) && param.length === 0) {\n return true\n }\n\n if (Object.entries(param).length === 0 && param.constructor === Object) {\n return true\n }\n\n return false\n}\n\nexport default isEmpty\n","import React, { createContext, FC, useMemo, ReactNode } from 'react'\nimport config from '~/config'\nimport isEmpty from '~/isEmpty'\nimport type { Breakpoints } from '~/types'\n\nconst context = createContext<any>({})\nconst VitusLabsProvider = context.Provider\n\ntype Theme = Partial<\n {\n rootSize: number\n breakpoints: Breakpoints\n } & Record<string, any>\n>\n\ntype ProviderType = Partial<\n {\n theme: Theme\n children: ReactNode\n } & Record<string, any>\n>\n\nconst Provider: FC<ProviderType> = ({ theme, children, ...props }) => {\n const ExternalProvider = useMemo(() => config.provider, [])\n const context = useMemo(() => ({ theme, ...props }), [theme, props])\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n if (!theme || isEmpty(theme)) return <>{children}</>\n\n if (ExternalProvider) {\n return (\n <VitusLabsProvider value={context}>\n <ExternalProvider theme={theme}>{children}</ExternalProvider>\n </VitusLabsProvider>\n )\n }\n\n return <VitusLabsProvider value={context}>{children}</VitusLabsProvider>\n}\n\nexport { context }\n\nexport default Provider\n","// const compose = <R>(fn1: (a: R) => R, ...fns: Array<(a: R) => R>) =>\n// fns.reduce((a, b) => (value) => a(b(value)), fn1)\n\n// const compose = (funcs) =>\n// funcs.reduce(\n// (a, b) => (...args) => a(b(...args)),\n// (arg) => arg\n// )\n\ntype ArityOneFn = (arg: any) => any\ntype PickLastInTuple<T extends any[]> = T extends [\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ...rest: infer U,\n argn: infer L\n]\n ? L\n : any\ntype FirstFnParameterType<T extends any[]> = Parameters<PickLastInTuple<T>>[any]\ntype LastFnReturnType<T extends any[]> = ReturnType<T[0]>\n\nconst compose =\n <T extends ArityOneFn[]>(...fns: T) =>\n (p: FirstFnParameterType<T>): LastFnReturnType<T> =>\n fns.reduceRight((acc: any, cur: any) => cur(acc), p)\n\nexport default compose\n","import { isValidElementType, isFragment } from 'react-is'\nimport { createElement, isValidElement, cloneElement, ReactNode } from 'react'\nimport isEmpty from './isEmpty'\n\ntype CreateTypes = Parameters<typeof createElement>[0]\ntype CloneTypes = Parameters<typeof cloneElement>[0]\ntype RenderProps<T extends Record<string, unknown> | undefined> = (\n props: Partial<T>\n) => ReactNode\n\nexport type Render = <T extends Record<string, any> | undefined>(\n content?: CreateTypes | CloneTypes | ReactNode | ReactNode[] | RenderProps<T>,\n attachProps?: T\n) => ReturnType<typeof createElement> | ReturnType<typeof cloneElement> | null\n\nconst render: Render = (content, attachProps) => {\n if (!content) return null as any\n\n const isValidEl = isValidElement(content)\n const render = (content) =>\n attachProps ? createElement(content, attachProps) : createElement(content)\n\n if (typeof content === 'string' && isValidEl) {\n return render(content)\n }\n\n if (['number', 'boolean', 'bigint', 'string'].includes(typeof content)) {\n return content\n }\n\n if (Array.isArray(content) || isFragment(content)) {\n return content\n }\n\n if (isValidElementType(content)) {\n return render(content)\n }\n\n if (isValidEl) {\n if (isEmpty(attachProps)) {\n return content\n }\n\n return cloneElement(content, attachProps)\n }\n\n return content\n}\n\nexport default render\n","const TAGS = [\n 'a',\n 'abbr',\n // 'acronym',\n 'address',\n // 'applet',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n // 'base',\n // 'basefont',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n // 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n // 'dir',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n // 'font',\n 'footer',\n 'form',\n // 'frame',\n // 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n // 'head',\n 'header',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n // 'link',\n 'main',\n 'map',\n 'mark',\n // 'meta',\n 'meter',\n 'nav',\n // 'noframes',\n // 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n // 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n // 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n // 'strike',\n 'strong',\n // 'style',\n 'sub',\n 'summary',\n 'sup',\n 'svg',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n // 'title',\n 'tr',\n 'track',\n // 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n] as const\n\nconst TEXT_TAGS = [\n 'abbr',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'cite',\n 'code',\n 'dl',\n 'dt',\n 'em',\n 'figcaption',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'i',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'p',\n 'pre',\n 'q',\n 'rp',\n 'rt',\n 's',\n 'small',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'time',\n 'u',\n] as const\n\nexport type HTMLTags = typeof TAGS[number]\n\nexport type HTMLTagsText = typeof TEXT_TAGS[number]\n\nexport default TAGS\n"],"names":["css","styled","ThemeProvider","createContext","useMemo","React","isValidElement","createElement","isFragment","isValidElementType","cloneElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vitus-labs-core.js","sources":["../src/config.ts","../src/isEmpty.ts","../src/context.tsx","../src/compose.ts","../src/render.ts","../src/html/htmlTags.ts"],"sourcesContent":["import { ComponentType } from 'react'\nimport type { HTMLTags } from '~/html'\nimport styled, {\n css,\n ThemeProvider,\n ThemedCssFunction,\n StyledInterface,\n DefaultTheme,\n ThemeProviderComponent,\n} from 'styled-components'\n\ninterface Internal {\n css: ThemedCssFunction<DefaultTheme>\n styled: StyledInterface\n provider?: ThemeProviderComponent<any, any>\n component?: ComponentType | HTMLTags\n textComponent?: ComponentType | HTMLTags\n}\n\nclass Configuration {\n css = css\n\n styled = styled\n\n provider = ThemeProvider\n\n component: ComponentType | HTMLTags = 'div'\n\n textComponent: ComponentType | HTMLTags = 'span'\n\n init = (props: Internal) => {\n if (props.css) {\n this.css = props.css\n }\n\n if (props.styled) {\n this.styled = props.styled\n }\n\n if (props.provider) {\n this.provider = props.provider\n }\n\n if (props.component) {\n this.component = props.component\n }\n\n if (props.textComponent) {\n this.textComponent = props.textComponent\n }\n }\n}\n\nconst config = new Configuration()\n\nconst { init } = config\n\nexport default config\nexport { init }\n","export type IsEmpty = <T extends Record<string, any> | any[] | null>(\n param?: T\n) => T extends null | undefined\n ? true\n : keyof T extends never\n ? true\n : T extends Array<T>\n ? T[number] extends never\n ? true\n : false\n : false\n\nconst isEmpty: IsEmpty = (param) => {\n if (!param) return true\n\n if (typeof param !== 'object') {\n return true as any\n }\n\n if (Array.isArray(param) && param.length === 0) {\n return true\n }\n\n if (Object.entries(param).length === 0 && param.constructor === Object) {\n return true\n }\n\n return false\n}\n\nexport default isEmpty\n","import React, { createContext, FC, useMemo, ReactNode } from 'react'\nimport config from '~/config'\nimport isEmpty from '~/isEmpty'\nimport type { Breakpoints } from '~/types'\n\nconst context = createContext<any>({})\nconst VitusLabsProvider = context.Provider\n\ntype Theme = Partial<\n {\n rootSize: number\n breakpoints: Breakpoints\n } & Record<string, any>\n>\n\ntype ProviderType = Partial<\n {\n theme: Theme\n children: ReactNode\n } & Record<string, any>\n>\n\nconst Provider: FC<ProviderType> = ({ theme, children, ...props }) => {\n const ExternalProvider = useMemo(() => config.provider, [])\n const context = useMemo(() => ({ theme, ...props }), [theme, props])\n\n if (isEmpty(theme)) return <>{children}</>\n\n if (ExternalProvider) {\n return (\n <VitusLabsProvider value={context}>\n <ExternalProvider theme={theme}>{children}</ExternalProvider>\n </VitusLabsProvider>\n )\n }\n\n return <VitusLabsProvider value={context}>{children}</VitusLabsProvider>\n}\n\nexport { context }\n\nexport default Provider\n","type ArityOneFn = (arg: any) => any\ntype PickLastInTuple<T extends any[]> = T extends [\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ...rest: infer U,\n argn: infer L\n]\n ? L\n : any\ntype FirstFnParameterType<T extends any[]> = Parameters<PickLastInTuple<T>>[any]\ntype LastFnReturnType<T extends any[]> = ReturnType<T[0]>\n\nconst compose =\n <T extends ArityOneFn[]>(...fns: T) =>\n (p: FirstFnParameterType<T>): LastFnReturnType<T> =>\n fns.reduceRight((acc: any, cur: any) => cur(acc), p)\n\nexport default compose\n","import { isValidElementType, isFragment } from 'react-is'\nimport { createElement, isValidElement, cloneElement, ReactNode } from 'react'\nimport isEmpty from './isEmpty'\n\ntype CreateTypes = Parameters<typeof createElement>[0]\ntype CloneTypes = Parameters<typeof cloneElement>[0]\ntype RenderProps<T extends Record<string, unknown> | undefined> = (\n props: Partial<T>\n) => ReactNode\n\nexport type Render = <T extends Record<string, any> | undefined>(\n content?: CreateTypes | CloneTypes | ReactNode | ReactNode[] | RenderProps<T>,\n attachProps?: T\n) => ReturnType<typeof createElement> | ReturnType<typeof cloneElement> | null\n\nconst render: Render = (content, attachProps) => {\n if (!content) return null as any\n\n const isValidEl = isValidElement(content)\n const render = (content) =>\n attachProps ? createElement(content, attachProps) : createElement(content)\n\n if (typeof content === 'string' && isValidEl) {\n return render(content)\n }\n\n if (['number', 'boolean', 'bigint', 'string'].includes(typeof content)) {\n return content\n }\n\n if (Array.isArray(content) || isFragment(content)) {\n return content\n }\n\n if (isValidElementType(content)) {\n return render(content)\n }\n\n if (isValidEl) {\n if (isEmpty(attachProps)) {\n return content\n }\n\n return cloneElement(content, attachProps)\n }\n\n return content\n}\n\nexport default render\n","const HTML_TAGS = [\n 'a',\n 'abbr',\n // 'acronym',\n 'address',\n // 'applet',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n // 'base',\n // 'basefont',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n // 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n // 'dir',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n // 'font',\n 'footer',\n 'form',\n // 'frame',\n // 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n // 'head',\n 'header',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n // 'link',\n 'main',\n 'map',\n 'mark',\n // 'meta',\n 'meter',\n 'nav',\n // 'noframes',\n // 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n // 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n // 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n // 'strike',\n 'strong',\n // 'style',\n 'sub',\n 'summary',\n 'sup',\n 'svg',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n // 'title',\n 'tr',\n 'track',\n // 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n] as const\n\nconst HTML_TEXT_TAGS = [\n 'abbr',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'cite',\n 'code',\n 'dl',\n 'dt',\n 'em',\n 'figcaption',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'i',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'p',\n 'pre',\n 'q',\n 'rp',\n 'rt',\n 's',\n 'small',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'time',\n 'u',\n] as const\n\nexport type HTMLTags = (typeof HTML_TAGS)[number]\n\nexport type HTMLTextTags = (typeof HTML_TEXT_TAGS)[number]\n\nexport { HTML_TAGS, HTML_TEXT_TAGS }\n"],"names":["css","styled","ThemeProvider","createContext","useMemo","React","isValidElement","createElement","isFragment","isValidElementType","cloneElement"],"mappings":"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"}
|
|
@@ -51,8 +51,7 @@ const VitusLabsProvider = context.Provider;
|
|
|
51
51
|
const Provider = ({ theme, children, ...props }) => {
|
|
52
52
|
const ExternalProvider = useMemo(() => config.provider, []);
|
|
53
53
|
const context = useMemo(() => ({ theme, ...props }), [theme, props]);
|
|
54
|
-
|
|
55
|
-
if (!theme || isEmpty(theme))
|
|
54
|
+
if (isEmpty(theme))
|
|
56
55
|
return React.createElement(React.Fragment, null, children);
|
|
57
56
|
if (ExternalProvider) {
|
|
58
57
|
return (React.createElement(VitusLabsProvider, { value: context },
|
|
@@ -61,8 +60,6 @@ const Provider = ({ theme, children, ...props }) => {
|
|
|
61
60
|
return React.createElement(VitusLabsProvider, { value: context }, children);
|
|
62
61
|
};
|
|
63
62
|
|
|
64
|
-
// const compose = <R>(fn1: (a: R) => R, ...fns: Array<(a: R) => R>) =>
|
|
65
|
-
// fns.reduce((a, b) => (value) => a(b(value)), fn1)
|
|
66
63
|
const compose = (...fns) => (p) => fns.reduceRight((acc, cur) => cur(acc), p);
|
|
67
64
|
|
|
68
65
|
const render = (content, attachProps) => {
|
|
@@ -91,7 +88,7 @@ const render = (content, attachProps) => {
|
|
|
91
88
|
return content;
|
|
92
89
|
};
|
|
93
90
|
|
|
94
|
-
const
|
|
91
|
+
const HTML_TAGS = [
|
|
95
92
|
'a',
|
|
96
93
|
'abbr',
|
|
97
94
|
// 'acronym',
|
|
@@ -214,7 +211,47 @@ const TAGS = [
|
|
|
214
211
|
'var',
|
|
215
212
|
'video',
|
|
216
213
|
'wbr',
|
|
214
|
+
];
|
|
215
|
+
const HTML_TEXT_TAGS = [
|
|
216
|
+
'abbr',
|
|
217
|
+
'b',
|
|
218
|
+
'bdi',
|
|
219
|
+
'bdo',
|
|
220
|
+
'big',
|
|
221
|
+
'blockquote',
|
|
222
|
+
'cite',
|
|
223
|
+
'code',
|
|
224
|
+
'dl',
|
|
225
|
+
'dt',
|
|
226
|
+
'em',
|
|
227
|
+
'figcaption',
|
|
228
|
+
'h1',
|
|
229
|
+
'h2',
|
|
230
|
+
'h3',
|
|
231
|
+
'h4',
|
|
232
|
+
'h5',
|
|
233
|
+
'h6',
|
|
234
|
+
'i',
|
|
235
|
+
'ins',
|
|
236
|
+
'kbd',
|
|
237
|
+
'label',
|
|
238
|
+
'legend',
|
|
239
|
+
'li',
|
|
240
|
+
'p',
|
|
241
|
+
'pre',
|
|
242
|
+
'q',
|
|
243
|
+
'rp',
|
|
244
|
+
'rt',
|
|
245
|
+
's',
|
|
246
|
+
'small',
|
|
247
|
+
'span',
|
|
248
|
+
'strong',
|
|
249
|
+
'sub',
|
|
250
|
+
'summary',
|
|
251
|
+
'sup',
|
|
252
|
+
'time',
|
|
253
|
+
'u',
|
|
217
254
|
];
|
|
218
255
|
|
|
219
|
-
export { Provider, compose, config, context,
|
|
256
|
+
export { HTML_TAGS, HTML_TEXT_TAGS, Provider, compose, config, context, init, isEmpty, render };
|
|
220
257
|
//# sourceMappingURL=vitus-labs-core.module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vitus-labs-core.module.js","sources":["../src/config.ts","../src/isEmpty.ts","../src/context.tsx","../src/compose.ts","../src/render.ts","../src/html/htmlTags.ts"],"sourcesContent":["import { ComponentType } from 'react'\nimport type { HTMLTags } from '~/html'\nimport styled, {\n css,\n ThemeProvider,\n ThemedCssFunction,\n StyledInterface,\n DefaultTheme,\n ThemeProviderComponent,\n} from 'styled-components'\n\ninterface Internal {\n css: ThemedCssFunction<DefaultTheme>\n styled: StyledInterface\n provider?: ThemeProviderComponent<any, any>\n component?: ComponentType | HTMLTags\n textComponent?: ComponentType | HTMLTags\n}\n\nclass Configuration {\n css = css\n\n styled = styled\n\n provider = ThemeProvider\n\n component: ComponentType | HTMLTags = 'div'\n\n textComponent: ComponentType | HTMLTags = 'span'\n\n init = (props: Internal) => {\n if (props.css) {\n this.css = props.css\n }\n\n if (props.styled) {\n this.styled = props.styled\n }\n\n if (props.provider) {\n this.provider = props.provider\n }\n\n if (props.component) {\n this.component = props.component\n }\n\n if (props.textComponent) {\n this.textComponent = props.textComponent\n }\n }\n}\n\nconst config = new Configuration()\n\nconst { init } = config\n\nexport default config\nexport { init }\n","export type IsEmpty = <T extends Record<string, unknown> | unknown[] | null>(\n param?: T\n) => null | undefined extends T ? true : keyof T extends never ? true : false\n\nconst isEmpty: IsEmpty = (param) => {\n if (!param) return true\n\n if (typeof param !== 'object') {\n return true as any\n }\n\n if (Array.isArray(param) && param.length === 0) {\n return true\n }\n\n if (Object.entries(param).length === 0 && param.constructor === Object) {\n return true\n }\n\n return false\n}\n\nexport default isEmpty\n","import React, { createContext, FC, useMemo, ReactNode } from 'react'\nimport config from '~/config'\nimport isEmpty from '~/isEmpty'\nimport type { Breakpoints } from '~/types'\n\nconst context = createContext<any>({})\nconst VitusLabsProvider = context.Provider\n\ntype Theme = Partial<\n {\n rootSize: number\n breakpoints: Breakpoints\n } & Record<string, any>\n>\n\ntype ProviderType = Partial<\n {\n theme: Theme\n children: ReactNode\n } & Record<string, any>\n>\n\nconst Provider: FC<ProviderType> = ({ theme, children, ...props }) => {\n const ExternalProvider = useMemo(() => config.provider, [])\n const context = useMemo(() => ({ theme, ...props }), [theme, props])\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n if (!theme || isEmpty(theme)) return <>{children}</>\n\n if (ExternalProvider) {\n return (\n <VitusLabsProvider value={context}>\n <ExternalProvider theme={theme}>{children}</ExternalProvider>\n </VitusLabsProvider>\n )\n }\n\n return <VitusLabsProvider value={context}>{children}</VitusLabsProvider>\n}\n\nexport { context }\n\nexport default Provider\n","// const compose = <R>(fn1: (a: R) => R, ...fns: Array<(a: R) => R>) =>\n// fns.reduce((a, b) => (value) => a(b(value)), fn1)\n\n// const compose = (funcs) =>\n// funcs.reduce(\n// (a, b) => (...args) => a(b(...args)),\n// (arg) => arg\n// )\n\ntype ArityOneFn = (arg: any) => any\ntype PickLastInTuple<T extends any[]> = T extends [\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ...rest: infer U,\n argn: infer L\n]\n ? L\n : any\ntype FirstFnParameterType<T extends any[]> = Parameters<PickLastInTuple<T>>[any]\ntype LastFnReturnType<T extends any[]> = ReturnType<T[0]>\n\nconst compose =\n <T extends ArityOneFn[]>(...fns: T) =>\n (p: FirstFnParameterType<T>): LastFnReturnType<T> =>\n fns.reduceRight((acc: any, cur: any) => cur(acc), p)\n\nexport default compose\n","import { isValidElementType, isFragment } from 'react-is'\nimport { createElement, isValidElement, cloneElement, ReactNode } from 'react'\nimport isEmpty from './isEmpty'\n\ntype CreateTypes = Parameters<typeof createElement>[0]\ntype CloneTypes = Parameters<typeof cloneElement>[0]\ntype RenderProps<T extends Record<string, unknown> | undefined> = (\n props: Partial<T>\n) => ReactNode\n\nexport type Render = <T extends Record<string, any> | undefined>(\n content?: CreateTypes | CloneTypes | ReactNode | ReactNode[] | RenderProps<T>,\n attachProps?: T\n) => ReturnType<typeof createElement> | ReturnType<typeof cloneElement> | null\n\nconst render: Render = (content, attachProps) => {\n if (!content) return null as any\n\n const isValidEl = isValidElement(content)\n const render = (content) =>\n attachProps ? createElement(content, attachProps) : createElement(content)\n\n if (typeof content === 'string' && isValidEl) {\n return render(content)\n }\n\n if (['number', 'boolean', 'bigint', 'string'].includes(typeof content)) {\n return content\n }\n\n if (Array.isArray(content) || isFragment(content)) {\n return content\n }\n\n if (isValidElementType(content)) {\n return render(content)\n }\n\n if (isValidEl) {\n if (isEmpty(attachProps)) {\n return content\n }\n\n return cloneElement(content, attachProps)\n }\n\n return content\n}\n\nexport default render\n","const TAGS = [\n 'a',\n 'abbr',\n // 'acronym',\n 'address',\n // 'applet',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n // 'base',\n // 'basefont',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n // 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n // 'dir',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n // 'font',\n 'footer',\n 'form',\n // 'frame',\n // 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n // 'head',\n 'header',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n // 'link',\n 'main',\n 'map',\n 'mark',\n // 'meta',\n 'meter',\n 'nav',\n // 'noframes',\n // 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n // 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n // 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n // 'strike',\n 'strong',\n // 'style',\n 'sub',\n 'summary',\n 'sup',\n 'svg',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n // 'title',\n 'tr',\n 'track',\n // 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n] as const\n\nconst TEXT_TAGS = [\n 'abbr',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'cite',\n 'code',\n 'dl',\n 'dt',\n 'em',\n 'figcaption',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'i',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'p',\n 'pre',\n 'q',\n 'rp',\n 'rt',\n 's',\n 'small',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'time',\n 'u',\n] as const\n\nexport type HTMLTags = typeof TAGS[number]\n\nexport type HTMLTagsText = typeof TEXT_TAGS[number]\n\nexport default TAGS\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"vitus-labs-core.module.js","sources":["../src/config.ts","../src/isEmpty.ts","../src/context.tsx","../src/compose.ts","../src/render.ts","../src/html/htmlTags.ts"],"sourcesContent":["import { ComponentType } from 'react'\nimport type { HTMLTags } from '~/html'\nimport styled, {\n css,\n ThemeProvider,\n ThemedCssFunction,\n StyledInterface,\n DefaultTheme,\n ThemeProviderComponent,\n} from 'styled-components'\n\ninterface Internal {\n css: ThemedCssFunction<DefaultTheme>\n styled: StyledInterface\n provider?: ThemeProviderComponent<any, any>\n component?: ComponentType | HTMLTags\n textComponent?: ComponentType | HTMLTags\n}\n\nclass Configuration {\n css = css\n\n styled = styled\n\n provider = ThemeProvider\n\n component: ComponentType | HTMLTags = 'div'\n\n textComponent: ComponentType | HTMLTags = 'span'\n\n init = (props: Internal) => {\n if (props.css) {\n this.css = props.css\n }\n\n if (props.styled) {\n this.styled = props.styled\n }\n\n if (props.provider) {\n this.provider = props.provider\n }\n\n if (props.component) {\n this.component = props.component\n }\n\n if (props.textComponent) {\n this.textComponent = props.textComponent\n }\n }\n}\n\nconst config = new Configuration()\n\nconst { init } = config\n\nexport default config\nexport { init }\n","export type IsEmpty = <T extends Record<string, any> | any[] | null>(\n param?: T\n) => T extends null | undefined\n ? true\n : keyof T extends never\n ? true\n : T extends Array<T>\n ? T[number] extends never\n ? true\n : false\n : false\n\nconst isEmpty: IsEmpty = (param) => {\n if (!param) return true\n\n if (typeof param !== 'object') {\n return true as any\n }\n\n if (Array.isArray(param) && param.length === 0) {\n return true\n }\n\n if (Object.entries(param).length === 0 && param.constructor === Object) {\n return true\n }\n\n return false\n}\n\nexport default isEmpty\n","import React, { createContext, FC, useMemo, ReactNode } from 'react'\nimport config from '~/config'\nimport isEmpty from '~/isEmpty'\nimport type { Breakpoints } from '~/types'\n\nconst context = createContext<any>({})\nconst VitusLabsProvider = context.Provider\n\ntype Theme = Partial<\n {\n rootSize: number\n breakpoints: Breakpoints\n } & Record<string, any>\n>\n\ntype ProviderType = Partial<\n {\n theme: Theme\n children: ReactNode\n } & Record<string, any>\n>\n\nconst Provider: FC<ProviderType> = ({ theme, children, ...props }) => {\n const ExternalProvider = useMemo(() => config.provider, [])\n const context = useMemo(() => ({ theme, ...props }), [theme, props])\n\n if (isEmpty(theme)) return <>{children}</>\n\n if (ExternalProvider) {\n return (\n <VitusLabsProvider value={context}>\n <ExternalProvider theme={theme}>{children}</ExternalProvider>\n </VitusLabsProvider>\n )\n }\n\n return <VitusLabsProvider value={context}>{children}</VitusLabsProvider>\n}\n\nexport { context }\n\nexport default Provider\n","type ArityOneFn = (arg: any) => any\ntype PickLastInTuple<T extends any[]> = T extends [\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n ...rest: infer U,\n argn: infer L\n]\n ? L\n : any\ntype FirstFnParameterType<T extends any[]> = Parameters<PickLastInTuple<T>>[any]\ntype LastFnReturnType<T extends any[]> = ReturnType<T[0]>\n\nconst compose =\n <T extends ArityOneFn[]>(...fns: T) =>\n (p: FirstFnParameterType<T>): LastFnReturnType<T> =>\n fns.reduceRight((acc: any, cur: any) => cur(acc), p)\n\nexport default compose\n","import { isValidElementType, isFragment } from 'react-is'\nimport { createElement, isValidElement, cloneElement, ReactNode } from 'react'\nimport isEmpty from './isEmpty'\n\ntype CreateTypes = Parameters<typeof createElement>[0]\ntype CloneTypes = Parameters<typeof cloneElement>[0]\ntype RenderProps<T extends Record<string, unknown> | undefined> = (\n props: Partial<T>\n) => ReactNode\n\nexport type Render = <T extends Record<string, any> | undefined>(\n content?: CreateTypes | CloneTypes | ReactNode | ReactNode[] | RenderProps<T>,\n attachProps?: T\n) => ReturnType<typeof createElement> | ReturnType<typeof cloneElement> | null\n\nconst render: Render = (content, attachProps) => {\n if (!content) return null as any\n\n const isValidEl = isValidElement(content)\n const render = (content) =>\n attachProps ? createElement(content, attachProps) : createElement(content)\n\n if (typeof content === 'string' && isValidEl) {\n return render(content)\n }\n\n if (['number', 'boolean', 'bigint', 'string'].includes(typeof content)) {\n return content\n }\n\n if (Array.isArray(content) || isFragment(content)) {\n return content\n }\n\n if (isValidElementType(content)) {\n return render(content)\n }\n\n if (isValidEl) {\n if (isEmpty(attachProps)) {\n return content\n }\n\n return cloneElement(content, attachProps)\n }\n\n return content\n}\n\nexport default render\n","const HTML_TAGS = [\n 'a',\n 'abbr',\n // 'acronym',\n 'address',\n // 'applet',\n 'area',\n 'article',\n 'aside',\n 'audio',\n 'b',\n // 'base',\n // 'basefont',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'body',\n 'br',\n 'button',\n 'canvas',\n 'caption',\n // 'center',\n 'cite',\n 'code',\n 'col',\n 'colgroup',\n 'data',\n 'datalist',\n 'dd',\n 'del',\n 'details',\n 'dfn',\n 'dialog',\n // 'dir',\n 'div',\n 'dl',\n 'dt',\n 'em',\n 'embed',\n 'fieldset',\n 'figcaption',\n 'figure',\n // 'font',\n 'footer',\n 'form',\n // 'frame',\n // 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n // 'head',\n 'header',\n 'hr',\n 'html',\n 'i',\n 'iframe',\n 'img',\n 'input',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n // 'link',\n 'main',\n 'map',\n 'mark',\n // 'meta',\n 'meter',\n 'nav',\n // 'noframes',\n // 'noscript',\n 'object',\n 'ol',\n 'optgroup',\n 'option',\n 'output',\n 'p',\n // 'param',\n 'picture',\n 'pre',\n 'progress',\n 'q',\n 'rp',\n 'rt',\n 'ruby',\n 's',\n 'samp',\n // 'script',\n 'section',\n 'select',\n 'small',\n 'source',\n 'span',\n // 'strike',\n 'strong',\n // 'style',\n 'sub',\n 'summary',\n 'sup',\n 'svg',\n 'table',\n 'tbody',\n 'td',\n 'template',\n 'textarea',\n 'tfoot',\n 'th',\n 'thead',\n 'time',\n // 'title',\n 'tr',\n 'track',\n // 'tt',\n 'u',\n 'ul',\n 'var',\n 'video',\n 'wbr',\n] as const\n\nconst HTML_TEXT_TAGS = [\n 'abbr',\n 'b',\n 'bdi',\n 'bdo',\n 'big',\n 'blockquote',\n 'cite',\n 'code',\n 'dl',\n 'dt',\n 'em',\n 'figcaption',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'i',\n 'ins',\n 'kbd',\n 'label',\n 'legend',\n 'li',\n 'p',\n 'pre',\n 'q',\n 'rp',\n 'rt',\n 's',\n 'small',\n 'span',\n 'strong',\n 'sub',\n 'summary',\n 'sup',\n 'time',\n 'u',\n] as const\n\nexport type HTMLTags = (typeof HTML_TAGS)[number]\n\nexport type HTMLTextTags = (typeof HTML_TEXT_TAGS)[number]\n\nexport { HTML_TAGS, HTML_TEXT_TAGS }\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vitus-labs/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Vit Bokisch <vit@bokisch.cz>",
|
|
6
6
|
"maintainers": [
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@types/lodash": "^4.14.191",
|
|
55
|
-
"@vitus-labs/tools-babel": "^0.
|
|
56
|
-
"@vitus-labs/tools-rollup": "^0.
|
|
57
|
-
"@vitus-labs/tools-typescript": "^0.
|
|
55
|
+
"@vitus-labs/tools-babel": "^0.45.0",
|
|
56
|
+
"@vitus-labs/tools-rollup": "^0.45.0",
|
|
57
|
+
"@vitus-labs/tools-typescript": "^0.45.0",
|
|
58
58
|
"styled-components": "^5.3.6"
|
|
59
59
|
},
|
|
60
|
-
"gitHead": "
|
|
60
|
+
"gitHead": "dda2a8b8d07026cd6b7781721ca5b992172246ba"
|
|
61
61
|
}
|