@descope/web-components-ui 1.0.35
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/README.md +191 -0
- package/dist/cjs/index.cjs.js +95 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/index.esm.js +703 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/umd/146.js +1 -0
- package/dist/umd/221.js +37 -0
- package/dist/umd/221.js.LICENSE.txt +11 -0
- package/dist/umd/511.js +573 -0
- package/dist/umd/511.js.LICENSE.txt +23 -0
- package/dist/umd/54.js +971 -0
- package/dist/umd/54.js.LICENSE.txt +33 -0
- package/dist/umd/599.js +1 -0
- package/dist/umd/729.js +1 -0
- package/dist/umd/840.js +356 -0
- package/dist/umd/840.js.LICENSE.txt +61 -0
- package/dist/umd/9.js +312 -0
- package/dist/umd/9.js.LICENSE.txt +21 -0
- package/dist/umd/descope-button-js.js +1 -0
- package/dist/umd/descope-combo-js.js +1 -0
- package/dist/umd/descope-date-picker-js.js +1 -0
- package/dist/umd/descope-text-field-js.js +1 -0
- package/dist/umd/index.js +1 -0
- package/package.json +45 -0
- package/src/components/descope-button.js +39 -0
- package/src/components/descope-combo.js +26 -0
- package/src/components/descope-date-picker.js +19 -0
- package/src/components/descope-text-field.js +36 -0
- package/src/componentsHelpers/createProxy/helpers.js +33 -0
- package/src/componentsHelpers/createProxy/index.js +82 -0
- package/src/componentsHelpers/createStyleMixin/helpers.js +66 -0
- package/src/componentsHelpers/createStyleMixin/index.js +22 -0
- package/src/componentsHelpers/draggableMixin.js +32 -0
- package/src/componentsHelpers/index.js +11 -0
- package/src/componentsHelpers/inputMixin.js +46 -0
- package/src/constants.js +1 -0
- package/src/dev/index.js +6 -0
- package/src/helpers.js +8 -0
- package/src/index.cjs.js +3 -0
- package/src/index.js +8 -0
- package/src/index.umd.js +7 -0
- package/src/theme/components/button.js +86 -0
- package/src/theme/components/index.js +7 -0
- package/src/theme/components/textField.js +50 -0
- package/src/theme/globals.js +66 -0
- package/src/theme/index.js +4 -0
- package/src/themeHelpers/index.js +76 -0
- package/src/themeHelpers/processColors.js +29 -0
package/README.md
ADDED
@@ -0,0 +1,191 @@
|
|
1
|
+
# web-components-ui
|
2
|
+
|
3
|
+
# Architecture
|
4
|
+
|
5
|
+
## `page-editor-components`
|
6
|
+
|
7
|
+
## `screen-renderer-service`
|
8
|
+
|
9
|
+
## `web-components-ui`
|
10
|
+
|
11
|
+
### Components
|
12
|
+
|
13
|
+
- DescopeUI
|
14
|
+
- Components Library ([Vaadain Components](https://vaadin.com/docs/latest/components))
|
15
|
+
|
16
|
+
### Build
|
17
|
+
|
18
|
+
_Webpack_
|
19
|
+
|
20
|
+
- `UMD` - Hosted, consumed by client in runtime
|
21
|
+
|
22
|
+
_Rollup_
|
23
|
+
|
24
|
+
- `ESM` - Consumed by `console-app` in build
|
25
|
+
- `CJS` - Consumed by `screen-renderer-service` in build
|
26
|
+
|
27
|
+
### CreateProxy
|
28
|
+
|
29
|
+
Wraps the web component with a ProxyElement.
|
30
|
+
|
31
|
+
### Discovery & Lazy Loading
|
32
|
+
|
33
|
+
### Hosted Service
|
34
|
+
|
35
|
+
### Style API
|
36
|
+
|
37
|
+
- Cover gaps between style API of our components and Vaadain’s style API
|
38
|
+
|
39
|
+
### Mixins
|
40
|
+
|
41
|
+
`DraggableMixin`
|
42
|
+
|
43
|
+
### Versioning
|
44
|
+
|
45
|
+
TBD
|
46
|
+
|
47
|
+
<!-- theme: colors -->
|
48
|
+
|
49
|
+
<!-- theme: global props -->
|
50
|
+
|
51
|
+
font
|
52
|
+
|
53
|
+
<!-- theme: mapped -->
|
54
|
+
|
55
|
+
color
|
56
|
+
bgColor
|
57
|
+
|
58
|
+
<!-- component props -->
|
59
|
+
|
60
|
+
size
|
61
|
+
|
62
|
+
--
|
63
|
+
Theme colors
|
64
|
+
Theme fonts
|
65
|
+
|
66
|
+
# Button
|
67
|
+
|
68
|
+
- Variant
|
69
|
+
- Text Color
|
70
|
+
- Text Size
|
71
|
+
- Font Family
|
72
|
+
- BgColor
|
73
|
+
- Radius
|
74
|
+
|
75
|
+
# Autocomplete
|
76
|
+
|
77
|
+
- Variant: V1: Default
|
78
|
+
|
79
|
+
- Button
|
80
|
+
- Input
|
81
|
+
- Variant
|
82
|
+
- Text Color
|
83
|
+
- Border
|
84
|
+
- Radius
|
85
|
+
- List
|
86
|
+
- Variant
|
87
|
+
- Border
|
88
|
+
- BgColor
|
89
|
+
- Radius
|
90
|
+
- Chip
|
91
|
+
- Variant
|
92
|
+
- Text Color
|
93
|
+
- Bg Color
|
94
|
+
- Radius
|
95
|
+
|
96
|
+
- Variant: V2: Outline
|
97
|
+
- Variant: V3: Contained
|
98
|
+
|
99
|
+
<!-- global atomic vars -->
|
100
|
+
|
101
|
+
spacing1
|
102
|
+
spacing2
|
103
|
+
font1
|
104
|
+
font2
|
105
|
+
color1
|
106
|
+
color2
|
107
|
+
color3
|
108
|
+
color4
|
109
|
+
color5
|
110
|
+
.
|
111
|
+
.
|
112
|
+
.
|
113
|
+
--
|
114
|
+
Primary Color
|
115
|
+
Secondary Color
|
116
|
+
Info
|
117
|
+
Success
|
118
|
+
Error
|
119
|
+
Warning
|
120
|
+
|
121
|
+
prop
|
122
|
+
|
123
|
+
<!-- CSSProp bgColor -->
|
124
|
+
|
125
|
+
THEME:
|
126
|
+
Global Theme Prop: `PrimaryColor`
|
127
|
+
Component Variant Prop: `PrimaryColor` / `GlobalThemeProp` / `Custom`
|
128
|
+
|
129
|
+
```
|
130
|
+
{
|
131
|
+
colors: {
|
132
|
+
PrimaryColor: red;
|
133
|
+
SecondaryColor: blue;
|
134
|
+
Success: green;
|
135
|
+
},
|
136
|
+
components: {
|
137
|
+
Button: {
|
138
|
+
success: {
|
139
|
+
color
|
140
|
+
radius
|
141
|
+
fontFamily
|
142
|
+
}
|
143
|
+
colors: {
|
144
|
+
BgColor: yellow;
|
145
|
+
TextColor
|
146
|
+
Radius
|
147
|
+
},
|
148
|
+
sizes: {
|
149
|
+
small: '',
|
150
|
+
}
|
151
|
+
fonts: {
|
152
|
+
FontSize
|
153
|
+
},
|
154
|
+
}
|
155
|
+
Phone: {
|
156
|
+
colors: {
|
157
|
+
TextColor: red;
|
158
|
+
}
|
159
|
+
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
```
|
164
|
+
|
165
|
+
COMP:
|
166
|
+
<descope-web-component variant="contained" overrides=[PrimaryColor: red, Success: blue]></descope-web-component>
|
167
|
+
|
168
|
+
PrimaryColor => BgColor
|
169
|
+
|
170
|
+
WCProp BgColor
|
171
|
+
WCProp -
|
172
|
+
|
173
|
+
<button variant="outline" currentDay="success">
|
174
|
+
<button variant="outline" color="#123123">
|
175
|
+
|
176
|
+
outline: {
|
177
|
+
borderColor: theme[color] || color // red
|
178
|
+
color: theme[variant] \* 0.2
|
179
|
+
}
|
180
|
+
|
181
|
+
<date-picker TextColor="">
|
182
|
+
contained: {
|
183
|
+
bgColor: theme[variant]
|
184
|
+
color: theme[variant] \* 0.8
|
185
|
+
}
|
186
|
+
.contained.success {
|
187
|
+
bgColor: theme[PrimayColor]
|
188
|
+
color: theme[variant] \* 0.8
|
189
|
+
}
|
190
|
+
|
191
|
+
<descope-web-component variant="contained" color, radius, fontFamily></descope-web-component>
|
@@ -0,0 +1,95 @@
|
|
1
|
+
'use strict';
|
2
|
+
|
3
|
+
var merge = require('lodash.merge');
|
4
|
+
var set = require('lodash.set');
|
5
|
+
|
6
|
+
const DESCOPE_PREFIX = 'descope';
|
7
|
+
|
8
|
+
const kebabCase = str => str
|
9
|
+
.replace(/([a-z])([A-Z])/g, "$1-$2")
|
10
|
+
.replace(/[\s_.]+/g, '-')
|
11
|
+
.toLowerCase();
|
12
|
+
|
13
|
+
const kebabCaseJoin = (...args) => kebabCase(args.join('-'));
|
14
|
+
|
15
|
+
const getCssVarName = (...args) => `--${kebabCaseJoin(...args)}`;
|
16
|
+
|
17
|
+
const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name);
|
18
|
+
|
19
|
+
const getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path);
|
20
|
+
|
21
|
+
const transformTheme = (theme, path, getTransformation) => {
|
22
|
+
return Object.entries(theme).reduce((acc, [key, val]) => {
|
23
|
+
if (val?.constructor !== Object) {
|
24
|
+
return merge(acc, getTransformation(path.concat(key), val));
|
25
|
+
} else {
|
26
|
+
return merge(acc, transformTheme(val, [...path, key], getTransformation));
|
27
|
+
}
|
28
|
+
}, {});
|
29
|
+
};
|
30
|
+
|
31
|
+
const stringifyArray = (strArr) => strArr.map((str) => (str.includes(" ") ? `"${str}"` : str)).join(", ");
|
32
|
+
|
33
|
+
const themeToCSSVarsObj = (theme) =>
|
34
|
+
transformTheme(theme, [], (path, val) => ({
|
35
|
+
[getVarName(path)]: Array.isArray(val) ? stringifyArray(val) : val,
|
36
|
+
}));
|
37
|
+
|
38
|
+
const getThemeRefs = (theme, prefix) =>
|
39
|
+
transformTheme(theme, [], (path) => set({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`));
|
40
|
+
|
41
|
+
const globalsThemeToStyle = (theme, themeName = '') => `
|
42
|
+
*[data-theme="${themeName}"] {
|
43
|
+
${Object.entries(themeToCSSVarsObj(theme)).reduce(
|
44
|
+
(acc, entry) => (acc += `${entry.join(":")};\n`), ''
|
45
|
+
)}
|
46
|
+
}
|
47
|
+
`;
|
48
|
+
|
49
|
+
const componentsThemeToStyleObj = (componentsTheme) =>
|
50
|
+
transformTheme(componentsTheme, [], (path, val) => {
|
51
|
+
const [component, ...restPath] = path;
|
52
|
+
const property = restPath.pop();
|
53
|
+
|
54
|
+
// do not start with underscore -> key:value, must have 2 no underscore attrs in a row
|
55
|
+
// starts with underscore -> attribute selector
|
56
|
+
|
57
|
+
const attrsSelector = restPath.reduce((acc, section, idx) => {
|
58
|
+
if (section.startsWith('_')) return acc += `[${section.replace(/^_/, '')}]`;
|
59
|
+
|
60
|
+
const nextSection = restPath[idx + 1];
|
61
|
+
|
62
|
+
if (typeof nextSection !== 'string' || nextSection.startsWith('_')) {
|
63
|
+
console.error('theme generator', `your theme structure is invalid, attribute "${section}" is followed by "${nextSection}" which is not allowed`);
|
64
|
+
return acc;
|
65
|
+
}
|
66
|
+
|
67
|
+
return acc += `[${section}="${restPath.splice(idx + 1, 1).join('')}"]`;
|
68
|
+
}, '');
|
69
|
+
|
70
|
+
let selector = `${getComponentName(component)}${attrsSelector}`;
|
71
|
+
|
72
|
+
return {
|
73
|
+
[selector]: {
|
74
|
+
[getVarName([component, property])]: val
|
75
|
+
}
|
76
|
+
}
|
77
|
+
});
|
78
|
+
|
79
|
+
const componentsThemeToStyle = (componentsTheme, themeName = '') =>
|
80
|
+
Object.entries(componentsThemeToStyleObj(componentsTheme)).reduce(
|
81
|
+
(acc, [selector, vars]) => (acc += `*[data-theme="${themeName}"] ${selector} { \n${Object.entries(vars).map(([key, val]) => `${key}: ${val}`).join(';\n')} \n}\n\n`),
|
82
|
+
''
|
83
|
+
);
|
84
|
+
|
85
|
+
const themeToStyle = ({ globals, components }, themeName) => `
|
86
|
+
${globalsThemeToStyle(globals, themeName)}
|
87
|
+
${componentsThemeToStyle(components, themeName)}
|
88
|
+
`;
|
89
|
+
|
90
|
+
exports.componentsThemeToStyle = componentsThemeToStyle;
|
91
|
+
exports.getThemeRefs = getThemeRefs;
|
92
|
+
exports.globalsThemeToStyle = globalsThemeToStyle;
|
93
|
+
exports.themeToCSSVarsObj = themeToCSSVarsObj;
|
94
|
+
exports.themeToStyle = themeToStyle;
|
95
|
+
//# sourceMappingURL=index.cjs.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../src/constants.js","../../src/helpers.js","../../src/componentsHelpers/index.js","../../src/themeHelpers/index.js"],"sourcesContent":["export const DESCOPE_PREFIX = 'descope'","export const kebabCase = str => str\n.replace(/([a-z])([A-Z])/g, \"$1-$2\")\n.replace(/[\\s_.]+/g, '-')\n.toLowerCase();\n\nexport const kebabCaseJoin = (...args) => kebabCase(args.join('-'))\n\nexport const getCssVarName = (...args) => `--${kebabCaseJoin(...args)}`\n","import { DESCOPE_PREFIX } from \"../constants\";\nimport { kebabCaseJoin } from \"../helpers\";\n\nexport const getComponentName = (name) => kebabCaseJoin(DESCOPE_PREFIX, name)\n\nexport const compose = (...fns) => (val) => fns.reduceRight((res, fn) => fn(res), val);\n\nexport { createStyleMixin } from './createStyleMixin'\nexport { draggableMixin } from './draggableMixin'\nexport { createProxy } from './createProxy'\nexport { inputMixin } from './inputMixin'\n","import merge from \"lodash.merge\";\nimport set from \"lodash.set\";\nimport { DESCOPE_PREFIX } from \"../constants\";\nimport { getCssVarName } from \"../helpers\";\nimport { getComponentName } from \"../componentsHelpers\";\n\nconst getVarName = (path) => getCssVarName(DESCOPE_PREFIX, ...path)\n\nconst transformTheme = (theme, path, getTransformation) => {\n\treturn Object.entries(theme).reduce((acc, [key, val]) => {\n\t\tif (val?.constructor !== Object) {\n\t\t\treturn merge(acc, getTransformation(path.concat(key), val));\n\t\t} else {\n\t\t\treturn merge(acc, transformTheme(val, [...path, key], getTransformation));\n\t\t}\n\t}, {});\n};\n\nconst stringifyArray = (strArr) => strArr.map((str) => (str.includes(\" \") ? `\"${str}\"` : str)).join(\", \")\n\nexport const themeToCSSVarsObj = (theme) =>\n\ttransformTheme(theme, [], (path, val) => ({\n\t\t[getVarName(path)]: Array.isArray(val) ? stringifyArray(val) : val,\n\t}));\n\nexport const getThemeRefs = (theme, prefix) =>\n\ttransformTheme(theme, [], (path) => set({}, path, `var(${getVarName(prefix ? [prefix, ...path] : path)})`));\n\nexport const globalsThemeToStyle = (theme, themeName = '') => `\n*[data-theme=\"${themeName}\"] {\n\t${Object.entries(themeToCSSVarsObj(theme)).reduce(\n\t(acc, entry) => (acc += `${entry.join(\":\")};\\n`), ''\n)}\n}\n`\n\nconst componentsThemeToStyleObj = (componentsTheme) =>\n\ttransformTheme(componentsTheme, [], (path, val) => {\n\t\tconst [component, ...restPath] = path\n\t\tconst property = restPath.pop()\n\n\t\t// do not start with underscore -> key:value, must have 2 no underscore attrs in a row\n\t\t// starts with underscore -> attribute selector\n\n\t\tconst attrsSelector = restPath.reduce((acc, section, idx) => {\n\t\t\tif (section.startsWith('_')) return acc += `[${section.replace(/^_/, '')}]`;\n\n\t\t\tconst nextSection = restPath[idx + 1];\n\n\t\t\tif (typeof nextSection !== 'string' || nextSection.startsWith('_')) {\n\t\t\t\tconsole.error('theme generator', `your theme structure is invalid, attribute \"${section}\" is followed by \"${nextSection}\" which is not allowed`)\n\t\t\t\treturn acc;\n\t\t\t}\n\n\t\t\treturn acc += `[${section}=\"${restPath.splice(idx + 1, 1).join('')}\"]`;\n\t\t}, '');\n\n\t\tlet selector = `${getComponentName(component)}${attrsSelector}`\n\n\t\treturn {\n\t\t\t[selector]: {\n\t\t\t\t[getVarName([component, property])]: val\n\t\t\t}\n\t\t}\n\t});\n\nexport const componentsThemeToStyle = (componentsTheme, themeName = '') =>\n\tObject.entries(componentsThemeToStyleObj(componentsTheme)).reduce(\n\t\t(acc, [selector, vars]) => (acc += `*[data-theme=\"${themeName}\"] ${selector} { \\n${Object.entries(vars).map(([key, val]) => `${key}: ${val}`).join(';\\n')} \\n}\\n\\n`),\n\t\t''\n\t);\n\nexport const themeToStyle = ({ globals, components }, themeName) => `\n${globalsThemeToStyle(globals, themeName)}\n${componentsThemeToStyle(components, themeName)}\n`"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"type":"commonjs"}
|