@ethereal-nexus/core 1.0.1 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/decorators/index.d.mts +1 -1
- package/dist/decorators/index.d.ts +1 -1
- package/dist/decorators/index.js +25 -3
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/index.mjs +25 -3
- package/dist/decorators/index.mjs.map +1 -1
- package/dist/decorators/webcomponent/index.d.mts +1 -1
- package/dist/decorators/webcomponent/index.d.ts +1 -1
- package/dist/decorators/webcomponent/index.js +25 -3
- package/dist/decorators/webcomponent/index.js.map +1 -1
- package/dist/decorators/webcomponent/index.mjs +25 -3
- package/dist/decorators/webcomponent/index.mjs.map +1 -1
- package/dist/decorators/webcomponent/webcomponent.d.mts +1 -1
- package/dist/decorators/webcomponent/webcomponent.d.ts +1 -1
- package/dist/decorators/webcomponent/webcomponent.js +25 -3
- package/dist/decorators/webcomponent/webcomponent.js.map +1 -1
- package/dist/decorators/webcomponent/webcomponent.mjs +25 -3
- package/dist/decorators/webcomponent/webcomponent.mjs.map +1 -1
- package/dist/functions/component/component.d.mts +3 -4
- package/dist/functions/component/component.d.ts +3 -4
- package/dist/functions/component/component.js +3 -16
- package/dist/functions/component/component.js.map +1 -1
- package/dist/functions/component/component.mjs +3 -16
- package/dist/functions/component/component.mjs.map +1 -1
- package/dist/functions/component/index.d.mts +1 -1
- package/dist/functions/component/index.d.ts +1 -1
- package/dist/functions/component/index.js +3 -16
- package/dist/functions/component/index.js.map +1 -1
- package/dist/functions/component/index.mjs +3 -16
- package/dist/functions/component/index.mjs.map +1 -1
- package/dist/functions/index.d.mts +1 -1
- package/dist/functions/index.d.ts +1 -1
- package/dist/functions/index.js +3 -16
- package/dist/functions/index.js.map +1 -1
- package/dist/functions/index.mjs +3 -16
- package/dist/functions/index.mjs.map +1 -1
- package/dist/functions/parse/index.d.mts +1 -1
- package/dist/functions/parse/index.d.ts +1 -1
- package/dist/functions/parse/parse.d.mts +1 -1
- package/dist/functions/parse/parse.d.ts +1 -1
- package/dist/functions/parse/parsePrimitives.d.mts +1 -1
- package/dist/functions/parse/parsePrimitives.d.ts +1 -1
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +53 -19
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +52 -19
- package/dist/index.mjs.map +1 -1
- package/dist/schema/calendar/calendar.d.mts +1 -1
- package/dist/schema/calendar/calendar.d.ts +1 -1
- package/dist/schema/calendar/index.d.mts +1 -1
- package/dist/schema/calendar/index.d.ts +1 -1
- package/dist/schema/checkbox/checkbox.d.mts +1 -1
- package/dist/schema/checkbox/checkbox.d.ts +1 -1
- package/dist/schema/checkbox/index.d.mts +1 -1
- package/dist/schema/checkbox/index.d.ts +1 -1
- package/dist/schema/datamodel/datamodel.d.mts +1 -1
- package/dist/schema/datamodel/datamodel.d.ts +1 -1
- package/dist/schema/datamodel/index.d.mts +1 -1
- package/dist/schema/datamodel/index.d.ts +1 -1
- package/dist/schema/datasource/datasource.d.mts +1 -1
- package/dist/schema/datasource/datasource.d.ts +1 -1
- package/dist/schema/datasource/index.d.mts +1 -1
- package/dist/schema/datasource/index.d.ts +1 -1
- package/dist/schema/dialog/condition.d.mts +1 -1
- package/dist/schema/dialog/condition.d.ts +1 -1
- package/dist/schema/dialog/dialog.d.mts +1 -1
- package/dist/schema/dialog/dialog.d.ts +1 -1
- package/dist/schema/dialog/index.d.mts +1 -1
- package/dist/schema/dialog/index.d.ts +1 -1
- package/dist/schema/dialog/tabs.d.mts +1 -1
- package/dist/schema/dialog/tabs.d.ts +1 -1
- package/dist/schema/dialog/types.d.mts +1 -1
- package/dist/schema/dialog/types.d.ts +1 -1
- package/dist/schema/dynamic/dynamic.d.mts +1 -1
- package/dist/schema/dynamic/dynamic.d.ts +1 -1
- package/dist/schema/dynamic/index.d.mts +1 -1
- package/dist/schema/dynamic/index.d.ts +1 -1
- package/dist/schema/group/group.d.mts +1 -1
- package/dist/schema/group/group.d.ts +1 -1
- package/dist/schema/group/index.d.mts +1 -1
- package/dist/schema/group/index.d.ts +1 -1
- package/dist/schema/hidden/hidden.d.mts +1 -1
- package/dist/schema/hidden/hidden.d.ts +1 -1
- package/dist/schema/hidden/index.d.mts +1 -1
- package/dist/schema/hidden/index.d.ts +1 -1
- package/dist/schema/image/image.d.mts +1 -1
- package/dist/schema/image/image.d.ts +1 -1
- package/dist/schema/image/index.d.mts +1 -1
- package/dist/schema/image/index.d.ts +1 -1
- package/dist/schema/multifield/index.d.mts +1 -1
- package/dist/schema/multifield/index.d.ts +1 -1
- package/dist/schema/multifield/multifield.d.mts +1 -1
- package/dist/schema/multifield/multifield.d.ts +1 -1
- package/dist/schema/navigation/index.d.mts +4 -0
- package/dist/schema/navigation/index.d.ts +4 -0
- package/dist/schema/navigation/index.js +53 -0
- package/dist/schema/navigation/index.js.map +1 -0
- package/dist/schema/navigation/index.mjs +26 -0
- package/dist/schema/navigation/index.mjs.map +1 -0
- package/dist/schema/navigation/navigation.d.mts +22 -0
- package/dist/schema/navigation/navigation.d.ts +22 -0
- package/dist/schema/navigation/navigation.js +51 -0
- package/dist/schema/navigation/navigation.js.map +1 -0
- package/dist/schema/navigation/navigation.mjs +26 -0
- package/dist/schema/navigation/navigation.mjs.map +1 -0
- package/dist/schema/object/index.d.mts +1 -1
- package/dist/schema/object/index.d.ts +1 -1
- package/dist/schema/object/object.d.mts +1 -1
- package/dist/schema/object/object.d.ts +1 -1
- package/dist/schema/optional/index.d.mts +1 -1
- package/dist/schema/optional/index.d.ts +1 -1
- package/dist/schema/optional/optional.d.mts +1 -1
- package/dist/schema/optional/optional.d.ts +1 -1
- package/dist/schema/pathbrowser/index.d.mts +1 -1
- package/dist/schema/pathbrowser/index.d.ts +1 -1
- package/dist/schema/pathbrowser/pathbrowser.d.mts +1 -1
- package/dist/schema/pathbrowser/pathbrowser.d.ts +1 -1
- package/dist/schema/rte/index.d.mts +1 -1
- package/dist/schema/rte/index.d.ts +1 -1
- package/dist/schema/rte/rte.d.mts +1 -1
- package/dist/schema/rte/rte.d.ts +1 -1
- package/dist/schema/select/index.d.mts +1 -1
- package/dist/schema/select/index.d.ts +1 -1
- package/dist/schema/select/select.d.mts +1 -1
- package/dist/schema/select/select.d.ts +1 -1
- package/dist/schema/text/index.d.mts +1 -1
- package/dist/schema/text/index.d.ts +1 -1
- package/dist/schema/text/text.d.mts +1 -1
- package/dist/schema/text/text.d.ts +1 -1
- package/dist/types/index.d.mts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/infer.d.mts +1 -1
- package/dist/types/infer.d.ts +1 -1
- package/dist/types/object.d.mts +1 -1
- package/dist/types/object.d.ts +1 -1
- package/dist/types/object.js.map +1 -1
- package/dist/types/schema.d.mts +1 -1
- package/dist/types/schema.d.ts +1 -1
- package/dist/{types-Cvbi87LT.d.ts → types-5qjjdXLi.d.ts} +1 -7
- package/dist/{types-DUGwdG43.d.mts → types-CUiyZnDu.d.mts} +1 -7
- package/package.json +3 -2
package/dist/decorators/index.js
CHANGED
|
@@ -54,12 +54,34 @@ function webcomponent(schema, options) {
|
|
|
54
54
|
} : void 0;
|
|
55
55
|
return (component) => {
|
|
56
56
|
const name = pascalToKebab(component.displayName);
|
|
57
|
+
class StyledWebComponent extends (0, import_react_to_web_component.default)(component, {
|
|
58
|
+
shadow: "open",
|
|
59
|
+
props
|
|
60
|
+
}) {
|
|
61
|
+
connectedCallback() {
|
|
62
|
+
super.connectedCallback();
|
|
63
|
+
queueMicrotask(() => {
|
|
64
|
+
const cssUrlsAttr = this.getAttribute("data-css-urls");
|
|
65
|
+
if (cssUrlsAttr) {
|
|
66
|
+
const cssUrlsArray = JSON.parse(cssUrlsAttr.replace(/'/g, '"'));
|
|
67
|
+
const slotTemplate = document.createElement("template");
|
|
68
|
+
const getImportsFromUrlsArray = (urls) => urls.map((url) => `<link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="${url}">`).join("\n");
|
|
69
|
+
slotTemplate.innerHTML = `<style>
|
|
70
|
+
::slotted(*) {
|
|
71
|
+
display: block !important;
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
74
|
+
${getImportsFromUrlsArray(cssUrlsArray)}
|
|
75
|
+
`;
|
|
76
|
+
this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
57
81
|
if (!window.customElements.get(name)) {
|
|
58
82
|
customElements.define(
|
|
59
83
|
name,
|
|
60
|
-
|
|
61
|
-
props
|
|
62
|
-
})
|
|
84
|
+
StyledWebComponent
|
|
63
85
|
);
|
|
64
86
|
}
|
|
65
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/index.ts","../../src/decorators/webcomponent/webcomponent.ts","../../src/utils/pascalToKebab.ts","../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["export * from './webcomponent'","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name
|
|
1
|
+
{"version":3,"sources":["../../src/decorators/index.ts","../../src/decorators/webcomponent/webcomponent.ts","../../src/utils/pascalToKebab.ts","../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["export * from './webcomponent'","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,oCAAiB;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACAO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;AFIO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoB,cAAsC;AAC/D,UAAM,OAAO,cAAc,UAAU,WAAY;AAAA,IAEjD,MAAM,+BAA2B,8BAAAA,SAAK,WAAW;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":["r2wc"]}
|
|
@@ -18,12 +18,34 @@ function webcomponent(schema, options) {
|
|
|
18
18
|
} : void 0;
|
|
19
19
|
return (component) => {
|
|
20
20
|
const name = pascalToKebab(component.displayName);
|
|
21
|
+
class StyledWebComponent extends r2wc(component, {
|
|
22
|
+
shadow: "open",
|
|
23
|
+
props
|
|
24
|
+
}) {
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
super.connectedCallback();
|
|
27
|
+
queueMicrotask(() => {
|
|
28
|
+
const cssUrlsAttr = this.getAttribute("data-css-urls");
|
|
29
|
+
if (cssUrlsAttr) {
|
|
30
|
+
const cssUrlsArray = JSON.parse(cssUrlsAttr.replace(/'/g, '"'));
|
|
31
|
+
const slotTemplate = document.createElement("template");
|
|
32
|
+
const getImportsFromUrlsArray = (urls) => urls.map((url) => `<link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="${url}">`).join("\n");
|
|
33
|
+
slotTemplate.innerHTML = `<style>
|
|
34
|
+
::slotted(*) {
|
|
35
|
+
display: block !important;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
${getImportsFromUrlsArray(cssUrlsArray)}
|
|
39
|
+
`;
|
|
40
|
+
this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
21
45
|
if (!window.customElements.get(name)) {
|
|
22
46
|
customElements.define(
|
|
23
47
|
name,
|
|
24
|
-
|
|
25
|
-
props
|
|
26
|
-
})
|
|
48
|
+
StyledWebComponent
|
|
27
49
|
);
|
|
28
50
|
}
|
|
29
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/decorators/webcomponent/webcomponent.ts","../../src/utils/pascalToKebab.ts","../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name
|
|
1
|
+
{"version":3,"sources":["../../src/decorators/webcomponent/webcomponent.ts","../../src/utils/pascalToKebab.ts","../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}"],"mappings":";AACA,OAAO,UAAU;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACAO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;AFIO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoB,cAAsC;AAC/D,UAAM,OAAO,cAAc,UAAU,WAAY;AAAA,IAEjD,MAAM,2BAA2B,KAAK,WAAW;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -54,12 +54,34 @@ function webcomponent(schema, options) {
|
|
|
54
54
|
} : void 0;
|
|
55
55
|
return (component) => {
|
|
56
56
|
const name = pascalToKebab(component.displayName);
|
|
57
|
+
class StyledWebComponent extends (0, import_react_to_web_component.default)(component, {
|
|
58
|
+
shadow: "open",
|
|
59
|
+
props
|
|
60
|
+
}) {
|
|
61
|
+
connectedCallback() {
|
|
62
|
+
super.connectedCallback();
|
|
63
|
+
queueMicrotask(() => {
|
|
64
|
+
const cssUrlsAttr = this.getAttribute("data-css-urls");
|
|
65
|
+
if (cssUrlsAttr) {
|
|
66
|
+
const cssUrlsArray = JSON.parse(cssUrlsAttr.replace(/'/g, '"'));
|
|
67
|
+
const slotTemplate = document.createElement("template");
|
|
68
|
+
const getImportsFromUrlsArray = (urls) => urls.map((url) => `<link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="${url}">`).join("\n");
|
|
69
|
+
slotTemplate.innerHTML = `<style>
|
|
70
|
+
::slotted(*) {
|
|
71
|
+
display: block !important;
|
|
72
|
+
}
|
|
73
|
+
</style>
|
|
74
|
+
${getImportsFromUrlsArray(cssUrlsArray)}
|
|
75
|
+
`;
|
|
76
|
+
this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
57
81
|
if (!window.customElements.get(name)) {
|
|
58
82
|
customElements.define(
|
|
59
83
|
name,
|
|
60
|
-
|
|
61
|
-
props
|
|
62
|
-
})
|
|
84
|
+
StyledWebComponent
|
|
63
85
|
);
|
|
64
86
|
}
|
|
65
87
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/decorators/webcomponent/index.ts","../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["export * from './webcomponent'","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name
|
|
1
|
+
{"version":3,"sources":["../../../src/decorators/webcomponent/index.ts","../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["export * from './webcomponent'","import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACCA,oCAAiB;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACAO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;AFIO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoB,cAAsC;AAC/D,UAAM,OAAO,cAAc,UAAU,WAAY;AAAA,IAEjD,MAAM,+BAA2B,8BAAAA,SAAK,WAAW;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":["r2wc"]}
|
|
@@ -18,12 +18,34 @@ function webcomponent(schema, options) {
|
|
|
18
18
|
} : void 0;
|
|
19
19
|
return (component) => {
|
|
20
20
|
const name = pascalToKebab(component.displayName);
|
|
21
|
+
class StyledWebComponent extends r2wc(component, {
|
|
22
|
+
shadow: "open",
|
|
23
|
+
props
|
|
24
|
+
}) {
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
super.connectedCallback();
|
|
27
|
+
queueMicrotask(() => {
|
|
28
|
+
const cssUrlsAttr = this.getAttribute("data-css-urls");
|
|
29
|
+
if (cssUrlsAttr) {
|
|
30
|
+
const cssUrlsArray = JSON.parse(cssUrlsAttr.replace(/'/g, '"'));
|
|
31
|
+
const slotTemplate = document.createElement("template");
|
|
32
|
+
const getImportsFromUrlsArray = (urls) => urls.map((url) => `<link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="${url}">`).join("\n");
|
|
33
|
+
slotTemplate.innerHTML = `<style>
|
|
34
|
+
::slotted(*) {
|
|
35
|
+
display: block !important;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
${getImportsFromUrlsArray(cssUrlsArray)}
|
|
39
|
+
`;
|
|
40
|
+
this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
21
45
|
if (!window.customElements.get(name)) {
|
|
22
46
|
customElements.define(
|
|
23
47
|
name,
|
|
24
|
-
|
|
25
|
-
props
|
|
26
|
-
})
|
|
48
|
+
StyledWebComponent
|
|
27
49
|
);
|
|
28
50
|
}
|
|
29
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name
|
|
1
|
+
{"version":3,"sources":["../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}"],"mappings":";AACA,OAAO,UAAU;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACAO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;AFIO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoB,cAAsC;AAC/D,UAAM,OAAO,cAAc,UAAU,WAAY;AAAA,IAEjD,MAAM,2BAA2B,KAAK,WAAW;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DialogSchema } from '../../schema/dialog/dialog.mjs';
|
|
3
|
-
import { f as ObjectEntries } from '../../types-
|
|
3
|
+
import { f as ObjectEntries } from '../../types-CUiyZnDu.mjs';
|
|
4
4
|
import '../../types/utils.mjs';
|
|
5
5
|
import '../../types/webcomponent.mjs';
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { DialogSchema } from '../../schema/dialog/dialog.js';
|
|
3
|
-
import { f as ObjectEntries } from '../../types-
|
|
3
|
+
import { f as ObjectEntries } from '../../types-5qjjdXLi.js';
|
|
4
4
|
import '../../types/utils.js';
|
|
5
5
|
import '../../types/webcomponent.js';
|
|
6
6
|
|
|
@@ -52,12 +52,34 @@ function webcomponent(schema, options) {
|
|
|
52
52
|
} : void 0;
|
|
53
53
|
return (component) => {
|
|
54
54
|
const name = pascalToKebab(component.displayName);
|
|
55
|
+
class StyledWebComponent extends (0, import_react_to_web_component.default)(component, {
|
|
56
|
+
shadow: "open",
|
|
57
|
+
props
|
|
58
|
+
}) {
|
|
59
|
+
connectedCallback() {
|
|
60
|
+
super.connectedCallback();
|
|
61
|
+
queueMicrotask(() => {
|
|
62
|
+
const cssUrlsAttr = this.getAttribute("data-css-urls");
|
|
63
|
+
if (cssUrlsAttr) {
|
|
64
|
+
const cssUrlsArray = JSON.parse(cssUrlsAttr.replace(/'/g, '"'));
|
|
65
|
+
const slotTemplate = document.createElement("template");
|
|
66
|
+
const getImportsFromUrlsArray = (urls) => urls.map((url) => `<link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="${url}">`).join("\n");
|
|
67
|
+
slotTemplate.innerHTML = `<style>
|
|
68
|
+
::slotted(*) {
|
|
69
|
+
display: block !important;
|
|
70
|
+
}
|
|
71
|
+
</style>
|
|
72
|
+
${getImportsFromUrlsArray(cssUrlsArray)}
|
|
73
|
+
`;
|
|
74
|
+
this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
55
79
|
if (!window.customElements.get(name)) {
|
|
56
80
|
customElements.define(
|
|
57
81
|
name,
|
|
58
|
-
|
|
59
|
-
props
|
|
60
|
-
})
|
|
82
|
+
StyledWebComponent
|
|
61
83
|
);
|
|
62
84
|
}
|
|
63
85
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name
|
|
1
|
+
{"version":3,"sources":["../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,oCAAiB;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACAO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;AFIO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoB,cAAsC;AAC/D,UAAM,OAAO,cAAc,UAAU,WAAY;AAAA,IAEjD,MAAM,+BAA2B,8BAAAA,SAAK,WAAW;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":["r2wc"]}
|
|
@@ -18,12 +18,34 @@ function webcomponent(schema, options) {
|
|
|
18
18
|
} : void 0;
|
|
19
19
|
return (component) => {
|
|
20
20
|
const name = pascalToKebab(component.displayName);
|
|
21
|
+
class StyledWebComponent extends r2wc(component, {
|
|
22
|
+
shadow: "open",
|
|
23
|
+
props
|
|
24
|
+
}) {
|
|
25
|
+
connectedCallback() {
|
|
26
|
+
super.connectedCallback();
|
|
27
|
+
queueMicrotask(() => {
|
|
28
|
+
const cssUrlsAttr = this.getAttribute("data-css-urls");
|
|
29
|
+
if (cssUrlsAttr) {
|
|
30
|
+
const cssUrlsArray = JSON.parse(cssUrlsAttr.replace(/'/g, '"'));
|
|
31
|
+
const slotTemplate = document.createElement("template");
|
|
32
|
+
const getImportsFromUrlsArray = (urls) => urls.map((url) => `<link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="${url}">`).join("\n");
|
|
33
|
+
slotTemplate.innerHTML = `<style>
|
|
34
|
+
::slotted(*) {
|
|
35
|
+
display: block !important;
|
|
36
|
+
}
|
|
37
|
+
</style>
|
|
38
|
+
${getImportsFromUrlsArray(cssUrlsArray)}
|
|
39
|
+
`;
|
|
40
|
+
this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
}
|
|
21
45
|
if (!window.customElements.get(name)) {
|
|
22
46
|
customElements.define(
|
|
23
47
|
name,
|
|
24
|
-
|
|
25
|
-
props
|
|
26
|
-
})
|
|
48
|
+
StyledWebComponent
|
|
27
49
|
);
|
|
28
50
|
}
|
|
29
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!)\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name
|
|
1
|
+
{"version":3,"sources":["../../../src/decorators/webcomponent/webcomponent.ts","../../../src/utils/pascalToKebab.ts","../../../src/functions/parse/parsePrimitives.ts"],"sourcesContent":["import type React from 'react';\nimport r2wc from '@r2wc/react-to-web-component';\nimport { DialogSchema } from '../../schema/dialog';\nimport { pascalToKebab } from '../../utils/pascalToKebab';\nimport { parsePrimitives } from '../../functions';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\ntype BaseOptions = {}\n\nexport function webcomponent<T extends ObjectEntries>(schema?: DialogSchema<T>, options?: BaseOptions) {\n const props: Record<string, WebcomponentPropTypes> | undefined = schema ? {\n ...parsePrimitives(schema),\n } : undefined;\n\n return <P extends {} = {}>(component: React.ComponentType<P>) => {\n const name = pascalToKebab(component.displayName!);\n\n class StyledWebComponent extends r2wc(component, {\n shadow: 'open',\n props,\n }) {\n connectedCallback() {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n super.connectedCallback();\n queueMicrotask(() => {\n\n const cssUrlsAttr = this.getAttribute('data-css-urls');\n if (cssUrlsAttr) {\n const cssUrlsArray: string[] = JSON.parse(cssUrlsAttr.replace(/'/g, '\"'));\n const slotTemplate = document.createElement('template');\n const getImportsFromUrlsArray = (urls: string[]) => urls.map((url) => `<link rel=\"preload\" as=\"style\" onload=\"this.rel='stylesheet'\" type=\"text/css\" href=\"${url}\">`).join('\\n');\n slotTemplate.innerHTML = `<style>\n ::slotted(*) {\n display: block !important;\n }\n </style>\n ${getImportsFromUrlsArray(cssUrlsArray)}\n`;\n this.shadowRoot?.appendChild(slotTemplate.content.cloneNode(true));\n }\n });\n }\n }\n\n\n if (!window.customElements.get(name)) {\n customElements.define(\n name, StyledWebComponent,\n );\n }\n };\n}","export function pascalToKebab(pascalCaseString: string) {\n return pascalCaseString\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .toLowerCase();\n}","import { DialogSchema } from '../../schema/dialog';\nimport { WebcomponentPropTypes } from '../../types/webcomponent';\nimport { ObjectEntries } from '../../types/object';\n\nexport function parsePrimitives<T extends ObjectEntries>(schema: DialogSchema<T>) {\n return schema._primitive() as Record<string, WebcomponentPropTypes>\n}"],"mappings":";AACA,OAAO,UAAU;;;ACDV,SAAS,cAAc,kBAA0B;AACtD,SAAO,iBACJ,QAAQ,mBAAmB,OAAO,EAClC,YAAY;AACjB;;;ACAO,SAAS,gBAAyC,QAAyB;AAChF,SAAO,OAAO,WAAW;AAC3B;;;AFIO,SAAS,aAAsC,QAA0B,SAAuB;AACrG,QAAM,QAA2D,SAAS;AAAA,IACxE,GAAG,gBAAgB,MAAM;AAAA,EAC3B,IAAI;AAEJ,SAAO,CAAoB,cAAsC;AAC/D,UAAM,OAAO,cAAc,UAAU,WAAY;AAAA,IAEjD,MAAM,2BAA2B,KAAK,WAAW;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IACF,CAAC,EAAE;AAAA,MACD,oBAAoB;AAGlB,cAAM,kBAAkB;AACxB,uBAAe,MAAM;AAEnB,gBAAM,cAAc,KAAK,aAAa,eAAe;AACrD,cAAI,aAAa;AACf,kBAAM,eAAyB,KAAK,MAAM,YAAY,QAAQ,MAAM,GAAG,CAAC;AACxE,kBAAM,eAAe,SAAS,cAAc,UAAU;AACtD,kBAAM,0BAA0B,CAAC,SAAmB,KAAK,IAAI,CAAC,QAAQ,uFAAuF,GAAG,IAAI,EAAE,KAAK,IAAI;AAC/K,yBAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKnB,wBAAwB,YAAY,CAAC;AAAA;AAE3C,iBAAK,YAAY,YAAY,aAAa,QAAQ,UAAU,IAAI,CAAC;AAAA,UACnE;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAGA,QAAI,CAAC,OAAO,eAAe,IAAI,IAAI,GAAG;AACpC,qBAAe;AAAA,QACb;AAAA,QAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { f as ObjectEntries,
|
|
1
|
+
import { f as ObjectEntries, B as BaseSchema, g as ObjectOutput } from '../../types-CUiyZnDu.mjs';
|
|
2
2
|
import { ComponentModel } from '../../types/component.mjs';
|
|
3
3
|
import { DialogSchema } from '../../schema/dialog/dialog.mjs';
|
|
4
4
|
import '../../types/webcomponent.mjs';
|
|
5
5
|
import '../../types/utils.mjs';
|
|
6
6
|
|
|
7
|
-
interface ComponentSchema<TEntries extends ObjectEntries
|
|
7
|
+
interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {
|
|
8
8
|
type: 'component';
|
|
9
9
|
dialog: DialogSchema<TEntries>;
|
|
10
|
-
slots?: TSlots;
|
|
11
10
|
}
|
|
12
|
-
declare function component<TEntries extends ObjectEntries
|
|
11
|
+
declare function component<TEntries extends ObjectEntries>(config: Partial<ComponentModel>, dialog: DialogSchema<TEntries>): ComponentSchema<TEntries>;
|
|
13
12
|
|
|
14
13
|
export { type ComponentSchema, component };
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { f as ObjectEntries,
|
|
1
|
+
import { f as ObjectEntries, B as BaseSchema, g as ObjectOutput } from '../../types-5qjjdXLi.js';
|
|
2
2
|
import { ComponentModel } from '../../types/component.js';
|
|
3
3
|
import { DialogSchema } from '../../schema/dialog/dialog.js';
|
|
4
4
|
import '../../types/webcomponent.js';
|
|
5
5
|
import '../../types/utils.js';
|
|
6
6
|
|
|
7
|
-
interface ComponentSchema<TEntries extends ObjectEntries
|
|
7
|
+
interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {
|
|
8
8
|
type: 'component';
|
|
9
9
|
dialog: DialogSchema<TEntries>;
|
|
10
|
-
slots?: TSlots;
|
|
11
10
|
}
|
|
12
|
-
declare function component<TEntries extends ObjectEntries
|
|
11
|
+
declare function component<TEntries extends ObjectEntries>(config: Partial<ComponentModel>, dialog: DialogSchema<TEntries>): ComponentSchema<TEntries>;
|
|
13
12
|
|
|
14
13
|
export { type ComponentSchema, component };
|
|
@@ -23,32 +23,19 @@ __export(component_exports, {
|
|
|
23
23
|
component: () => component
|
|
24
24
|
});
|
|
25
25
|
module.exports = __toCommonJS(component_exports);
|
|
26
|
-
function component(config, dialog
|
|
27
|
-
const slotsParse = slots ? Object.entries(slots).map(
|
|
28
|
-
([key, slot]) => ({
|
|
29
|
-
id: key,
|
|
30
|
-
name: key,
|
|
31
|
-
...slot._parse()
|
|
32
|
-
})
|
|
33
|
-
) : [];
|
|
34
|
-
const slotsPrimitives = slots ? Object.entries(slots).reduce((acc, [key, slot]) => {
|
|
35
|
-
acc[key] = slot._primitive();
|
|
36
|
-
return acc;
|
|
37
|
-
}, {}) : [];
|
|
26
|
+
function component(config, dialog) {
|
|
38
27
|
return {
|
|
39
28
|
type: "component",
|
|
40
29
|
dialog,
|
|
41
30
|
_parse() {
|
|
42
31
|
return {
|
|
43
32
|
...config,
|
|
44
|
-
...dialog._parse()
|
|
45
|
-
dynamiczones: slotsParse
|
|
33
|
+
...dialog._parse()
|
|
46
34
|
};
|
|
47
35
|
},
|
|
48
36
|
_primitive() {
|
|
49
37
|
return {
|
|
50
|
-
...dialog._primitive()
|
|
51
|
-
...slotsPrimitives
|
|
38
|
+
...dialog._primitive()
|
|
52
39
|
};
|
|
53
40
|
},
|
|
54
41
|
...config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/functions/component/component.ts"],"sourcesContent":["import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput
|
|
1
|
+
{"version":3,"sources":["../../../src/functions/component/component.ts"],"sourcesContent":["import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AASO,SAAS,UACd,QACA,QAC2B;AAE3B,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,SAAS;AACP,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,OAAO,OAAO;AAAA,MACnB;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,QACL,GAAG,OAAO,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
|
|
@@ -1,30 +1,17 @@
|
|
|
1
1
|
// src/functions/component/component.ts
|
|
2
|
-
function component(config, dialog
|
|
3
|
-
const slotsParse = slots ? Object.entries(slots).map(
|
|
4
|
-
([key, slot]) => ({
|
|
5
|
-
id: key,
|
|
6
|
-
name: key,
|
|
7
|
-
...slot._parse()
|
|
8
|
-
})
|
|
9
|
-
) : [];
|
|
10
|
-
const slotsPrimitives = slots ? Object.entries(slots).reduce((acc, [key, slot]) => {
|
|
11
|
-
acc[key] = slot._primitive();
|
|
12
|
-
return acc;
|
|
13
|
-
}, {}) : [];
|
|
2
|
+
function component(config, dialog) {
|
|
14
3
|
return {
|
|
15
4
|
type: "component",
|
|
16
5
|
dialog,
|
|
17
6
|
_parse() {
|
|
18
7
|
return {
|
|
19
8
|
...config,
|
|
20
|
-
...dialog._parse()
|
|
21
|
-
dynamiczones: slotsParse
|
|
9
|
+
...dialog._parse()
|
|
22
10
|
};
|
|
23
11
|
},
|
|
24
12
|
_primitive() {
|
|
25
13
|
return {
|
|
26
|
-
...dialog._primitive()
|
|
27
|
-
...slotsPrimitives
|
|
14
|
+
...dialog._primitive()
|
|
28
15
|
};
|
|
29
16
|
},
|
|
30
17
|
...config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/functions/component/component.ts"],"sourcesContent":["import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput
|
|
1
|
+
{"version":3,"sources":["../../../src/functions/component/component.ts"],"sourcesContent":["import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":";AASO,SAAS,UACd,QACA,QAC2B;AAE3B,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,SAAS;AACP,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,OAAO,OAAO;AAAA,MACnB;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,QACL,GAAG,OAAO,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
|
|
@@ -25,32 +25,19 @@ __export(component_exports, {
|
|
|
25
25
|
module.exports = __toCommonJS(component_exports);
|
|
26
26
|
|
|
27
27
|
// src/functions/component/component.ts
|
|
28
|
-
function component(config, dialog
|
|
29
|
-
const slotsParse = slots ? Object.entries(slots).map(
|
|
30
|
-
([key, slot]) => ({
|
|
31
|
-
id: key,
|
|
32
|
-
name: key,
|
|
33
|
-
...slot._parse()
|
|
34
|
-
})
|
|
35
|
-
) : [];
|
|
36
|
-
const slotsPrimitives = slots ? Object.entries(slots).reduce((acc, [key, slot]) => {
|
|
37
|
-
acc[key] = slot._primitive();
|
|
38
|
-
return acc;
|
|
39
|
-
}, {}) : [];
|
|
28
|
+
function component(config, dialog) {
|
|
40
29
|
return {
|
|
41
30
|
type: "component",
|
|
42
31
|
dialog,
|
|
43
32
|
_parse() {
|
|
44
33
|
return {
|
|
45
34
|
...config,
|
|
46
|
-
...dialog._parse()
|
|
47
|
-
dynamiczones: slotsParse
|
|
35
|
+
...dialog._parse()
|
|
48
36
|
};
|
|
49
37
|
},
|
|
50
38
|
_primitive() {
|
|
51
39
|
return {
|
|
52
|
-
...dialog._primitive()
|
|
53
|
-
...slotsPrimitives
|
|
40
|
+
...dialog._primitive()
|
|
54
41
|
};
|
|
55
42
|
},
|
|
56
43
|
...config
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/functions/component/index.ts","../../../src/functions/component/component.ts"],"sourcesContent":["export * from './component';\n","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput
|
|
1
|
+
{"version":3,"sources":["../../../src/functions/component/index.ts","../../../src/functions/component/component.ts"],"sourcesContent":["export * from './component';\n","import { BaseSchema, ComponentModel } from '../../types';\nimport { ObjectEntries, ObjectOutput } from '../../types/object';\nimport { DialogSchema } from '../../schema/dialog';\n\nexport interface ComponentSchema<TEntries extends ObjectEntries> extends BaseSchema<ObjectOutput<TEntries>>, Partial<ComponentModel> {\n type: 'component';\n dialog: DialogSchema<TEntries>;\n}\n\nexport function component<TEntries extends ObjectEntries>(\n config: Partial<ComponentModel>,\n dialog: DialogSchema<TEntries>,\n): ComponentSchema<TEntries> {\n\n return {\n type: 'component',\n dialog,\n _parse() {\n return {\n ...config,\n ...dialog._parse(),\n };\n },\n _primitive() {\n return {\n ...dialog._primitive() as object,\n };\n },\n ...config,\n };\n}"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACSO,SAAS,UACd,QACA,QAC2B;AAE3B,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA,SAAS;AACP,aAAO;AAAA,QACL,GAAG;AAAA,QACH,GAAG,OAAO,OAAO;AAAA,MACnB;AAAA,IACF;AAAA,IACA,aAAa;AACX,aAAO;AAAA,QACL,GAAG,OAAO,WAAW;AAAA,MACvB;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL;AACF;","names":[]}
|